[prev in list] [next in list] [prev in thread] [next in thread] 

List:       lon-capa-cvs
Subject:    [LON-CAPA-cvs] cvs: loncom /cgi/mimeTeX README VERSION gifsave.c mimetex.c mimetex.h mimetex.html te
From:       raeburn <raeburn () source ! lon-capa ! org>
Date:       2012-06-09 0:58:14
Message-ID: cvsraeburn1339203494 () cvsserver
[Download RAW message or body]

This is a MIME encoded message


raeburn		Sat Jun  9 00:58:14 2012 EDT

  Modified files:              
    /loncom/cgi/mimeTeX	README gifsave.c mimetex.c mimetex.h 
                       	mimetex.html texfonts.h VERSION 
  Log:
  - upgrade to 1.74.
  
  
["raeburn-20120609005814.txt" (text/plain)]

Index: loncom/cgi/mimeTeX/README
diff -u loncom/cgi/mimeTeX/README:1.2 loncom/cgi/mimeTeX/README:1.3
--- loncom/cgi/mimeTeX/README:1.2	Thu Dec  4 12:17:13 2008
+++ loncom/cgi/mimeTeX/README	Sat Jun  9 00:58:11 2012
@@ -1,10 +1,10 @@
 
  --------------------------------------------------------------------------
- September 6, 2008                                             Version 1.70
+ March 31, 2012                                                Version 1.74
 
                   m i m e T e X   R e a d m e   F i l e
 
- Copyright(c) 2002-2008, John Forkosh Associates, Inc. All rights reserved.
+ Copyright(c) 2002-2012, John Forkosh Associates, Inc. All rights reserved.
  --------------------------------------------------------------------------
 
                             by: John Forkosh
@@ -179,6 +179,8 @@
   A more detailed account of mimeTeX's revision history
   is maintained at  http://www.forkosh.com/mimetexchangelog.html
   ---
+  03/31/12  J.Forkosh      version 1.74 released.
+  08/24/11  J.Forkosh      version 1.72 released.
   09/06/08  J.Forkosh      version 1.70 released.
   11/30/04  J.Forkosh      version 1.60 released
   10/02/04  J.Forkosh      version 1.50 released on CTAN with various new
Index: loncom/cgi/mimeTeX/gifsave.c
diff -u loncom/cgi/mimeTeX/gifsave.c:1.4 loncom/cgi/mimeTeX/gifsave.c:1.5
--- loncom/cgi/mimeTeX/gifsave.c:1.4	Thu Dec  4 12:17:13 2008
+++ loncom/cgi/mimeTeX/gifsave.c	Sat Jun  9 00:58:11 2012
@@ -1,4 +1,4 @@
-/* $Id: gifsave.c,v 1.4 2008/12/04 12:17:13 riegler Exp $ */
+/* $Id: gifsave.c,v 1.5 2012/06/09 00:58:11 raeburn Exp $ */
 /**************************************************************************
  *
  *  FILE            gifsave.c
Index: loncom/cgi/mimeTeX/mimetex.c
diff -u loncom/cgi/mimeTeX/mimetex.c:1.4 loncom/cgi/mimeTeX/mimetex.c:1.5
--- loncom/cgi/mimeTeX/mimetex.c:1.4	Thu Dec  4 12:17:13 2008
+++ loncom/cgi/mimeTeX/mimetex.c	Sat Jun  9 00:58:11 2012
@@ -1,6 +1,6 @@
 /****************************************************************************
  *
- * Copyright(c) 2002-2008, John Forkosh Associates, Inc. All rights reserved.
+ * Copyright(c) 2002-2012, John Forkosh Associates, Inc. All rights reserved.
  *           http://www.forkosh.com   mailto: john@forkosh.com
  * --------------------------------------------------------------------------
  * This file is part of mimeTeX, which is free software. You may redistribute
@@ -49,9 +49,21 @@
  *		usage is available on its homepage,
  *		  http://www.forkosh.com/mimetex.html
  *		and similarly in mimetex.html included with your mimetex.zip
- *		distribution file.
+ *		distribution file. (Note: http://www.forkosh.com/mimetex.html
+ *		is a "quickstart" version of the the full mimetex.html manual
+ *		included in your mimetex.zip distribution file.)
  *
- * Functions:	===================== Raster Functions ======================
+ * Functions:	The following "table of contents" lists each function
+ *		comprising mimeTeX in the order it appears in this file.
+ *		See individual function entry points for specific comments
+ *		about its purpose, calling sequence, side effects, etc.
+ *		(All these functions eventually belong in several
+ *		different modules, possibly along the lines suggested
+ *		by the divisions below.  But until the best decomposition
+ *		becomes clear, it seems better to keep mimetex.c
+ *		neatly together, avoiding a bad decomposition that
+ *		becomes permanent by default.)
+ *		===================== Raster Functions ======================
  *	PART2	--- raster constructor functions ---
  *		new_raster(width,height,pixsz)   allocation (and constructor)
  *		new_subraster(width,height,pixsz)allocation (and constructor)
@@ -63,6 +75,8 @@
  *		rastcpy(rp)                           allocate new copy of rp
  *		subrastcpy(sp)                        allocate new copy of sp
  *		rastrot(rp)         new raster rotated right 90 degrees to rp
+ *		rastmag(rp,magstep)   new raster magnified by "magstep" to rp
+ *		bytemapmag(bytemap,width,height,magstep)      magnify bytemap
  *		rastref(rp,axis)    new raster reflected (axis 1=horz,2=vert)
  *		rastput(target,source,top,left,isopaque)  overlay src on trgt
  *		rastcompose(sp1,sp2,offset2,isalign,isfree) sp2 on top of sp1
@@ -72,7 +86,7 @@
  *		rastsmash(sp1,sp2,xmin,ymin)      calc #smash pixels sp1||sp2
  *		rastsmashcheck(term)         check if term is "safe" to smash
  *		--- raster "drawing" functions ---
- *		accent_subraster(accent,width,height)       draw \hat\vec\etc
+ *		accent_subraster(accent,width,height,direction,pixsz)\hat\vec
  *		arrow_subraster(width,height,drctn,isBig)    left/right arrow
  *		uparrow_subraster(width,height,drctn,isBig)     up/down arrow
  *		rule_raster(rp,top,left,width,height,type)    draw rule in rp
@@ -117,8 +131,15 @@
  *		strchange(nfirst,from,to)   change nfirst chars of from to to
  *		strreplace(string,from,to,nreplace)  change from to to in str
  *		strwstr(string,substr,white,sublen)     find substr in string
+ *		strdetex(s,mode)    replace math chars like \^_{} for display
  *		strtexchr(string,texchr)                find texchr in string
  *		findbraces(expression,command)    find opening { or closing }
+ *		strpspn(s,reject,segment)     non-() chars of s not in reject
+ *		isstrstr(string,snippets,iscase)  are any snippets in string?
+ *		isnumeric(s)                     determine if s is an integer
+ *		evalterm(store,term)     evaluate numeric value of expression
+ *		getstore(store,identifier)return value corresponding to ident
+ *		unescape_url(url,isescape), x2c(what)   xlate %xx url-encoded
  *	PART3	=========== Rasterize an Expression (recursively) ===========
  *		--- here's the primary entry point for all of mimeTeX ---
  *		rasterize(expression,size)     parse and rasterize expression
@@ -152,12 +173,16 @@
  *		rastbezier(expression,size,basesp,arg1,arg2,arg3)     \bezier
  *		rastraise(expression,size,basesp,arg1,arg2,arg3)    \raisebox
  *		rastrotate(expression,size,basesp,arg1,arg2,arg3)  \rotatebox
+ *		rastmagnify(expression,size,basesp,arg1,arg2,arg3)   \magnify
  *		rastreflect(expression,size,basesp,arg1,arg2,arg3)\reflectbox
  *		rastfbox(expression,size,basesp,arg1,arg2,arg3)         \fbox
  *		rastinput(expression,size,basesp,arg1,arg2,arg3)       \input
  *		rastcounter(expression,size,basesp,arg1,arg2,arg3)   \counter
+ *		rasteval(expression,size,basesp,arg1,arg2,arg3)         \eval
  *		rasttoday(expression,size,basesp,arg1,arg2,arg3)       \today
  *		rastcalendar(expression,size,basesp,arg1,arg2,arg3) \calendar
+ *		rastenviron(expression,size,basesp,arg1,arg2,arg3)   \environ
+ *		rastmessage(expression,size,basesp,arg1,arg2,arg3)   \message
  *		rastnoop(expression,size,basesp,arg1,arg2,arg3) flush \escape
  *		--- helper functions for handlers ---
  *		rastopenfile(filename,mode)      opens filename[.tex] in mode
@@ -168,6 +193,10 @@
  *		timestamp(tzdelta,ifmt)              formats timestamp string
  *		tzadjust(tzdelta,year,month,day,hour)        adjust date/time
  *		daynumber(year,month,day)     #days since Monday, Jan 1, 1973
+ *		strwrap(s,linelen,tablen)insert \n's and spaces to wrap lines
+ *		strnlower(s,n)        lowercase the first n chars of string s
+ *		urlprune(url,n)  http://abc.def.ghi.com/etc-->abc.def.ghi.com
+ *		urlncmp(url1,url2,n)   compares topmost n levels of two url's
  *		dbltoa(d,npts)                double to comma-separated ascii
  *		=== Anti-alias completed raster (lowpass) or symbols (ss) ===
  *		aalowpass(rp,bytemap,grayscale)     lowpass grayscale bytemap
@@ -192,12 +221,12 @@
  *	PART1	========================== Driver ===========================
  *		main(argc,argv) parses math expression and emits mime xbitmap
  *		CreateGifFromEq(expression,gifFileName)  entry pt for win dll
- *		isstrstr(string,snippets,iscase)  are any snippets in string?
  *		ismonth(month)          is month current month ("jan"-"dec")?
- *		unescape_url(url,isescape), x2c(what)   xlate %xx url-encoded
  *		logger(fp,msglevel,logvars)        logs environment variables
  *		emitcache(cachefile,maxage,valign,isbuffer)    emit cachefile
  *		readcachefile(cachefile,buffer)    read cachefile into buffer
+ *		advertisement(expression,mode)  wrap expression in ad message
+ *		crc16(s)                               16-bit crc of string s
  *		md5str(instr)                      md5 hash library functions
  *		GetPixel(x,y)           callback function for gifsave library
  *
@@ -205,7 +234,10 @@
  *		and also needs gifsave.c when compiled with -DAA or -DGIF)
  *
  * --------------------------------------------------------------------------
- * Notes      o	See bottom of file for main() driver (and "friends"),
+ * Notes      o	See individual function entry points for specific comments
+ *		about the purpose, calling sequence, side effects, etc
+ *		of each mimeTeX function listed above.
+ *	      o	See bottom of file for main() driver (and "friends"),
  *		and compile as
  *		   cc -DAA mimetex.c gifsave.c -lm -o mimetex.cgi
  *		to produce an executable that emits gif images with
@@ -217,15 +249,39 @@
  *		to produce an executable that just emits mime xbitmaps.
  *		In either case you'll need mimetex.h and texfonts.h,
  *		and with -DAA or -DGIF you'll also need gifsave.c
+ *	      o	The font information in texfonts.h was produced by multiple
+ *		runs of gfuntype, one run per struct (i.e., one run per font
+ *		family at a particular size).  Compile gfuntype as
+ *		   cc gfuntype.c mimetex.c -lm -o gfuntype
+ *		See gfuntype.c, and also mimetex.html#fonts, for details.
  *	      o	For gif images, the gifsave.c library by Sverre H. Huseby
  *		<http://shh.thathost.com> slightly modified by me to allow
  *		(a)sending output to stdout or returning it in memory,
  *		and (b)specifying a transparent background color index,
  *		is included with mimeTeX, and it's documented in
- *		mimetex.html#gifsave .
+ *		mimetex.html#gifsave
+ *	      o	MimeTeX's principal reusable function is rasterize(),
+ *		which takes a string like "f(x)=\int_{-\infty}^xe^{-t^2}dt"
+ *		and returns a (sub)raster representing it as a bit or bytemap.
+ *		Your application can do anything it likes with this pixel map.
+ *		MimeTeX just outputs it, either as a mime xbitmap or as a gif.
+ *		See  mimetex.html#makeraster  for further discussion
+ *		and examples.
+ *	      o	File mimetex.c also contains library functions implementing
+ *		a raster datatype, functions to manipulate rasterized .mf
+ *		fonts (see gfuntype.c which rasterizes .mf fonts), functions
+ *		to parse LaTeX expressions, etc.  As already mentioned,
+ *		a complete list of mimetex.c functions is above.  See their
+ *		individual entry points below for further comments.
+ *		   As also mentioned, these functions eventually belong in
+ *		several different modules, possibly along the lines suggested
+ *		by the divisions above.  But until the best decomposition
+ *		becomes clear, it seems better to keep mimetex.c
+ *		neatly together, avoiding a bad decomposition that
+ *		becomes permanent by default.
  *	      o	Optional compile-line -D defined symbols are documented
  *		in mimetex.html#options .  They include (additional -D
- *		switches are discussed in mimetex.html#options)...
+ *		switches are discussed at mimetex.html#options)...
  *		-DAA
  *		    Turns on gif anti-aliasing with default values
  *		    (CENTERWT=32, ADJACENTWT=3, CORNERWT=1)
@@ -233,6 +289,9 @@
  *		-DCENTERWT=n
  *		-DADJACENTWT=j
  *		-DCORNERWT=k
+ *			*** Note: Ignore these three switches because
+ *			*** mimeTeX's current anti-aliasing algorithm
+ *			*** no longer uses them (as of version 1.60).
  *		    MimeTeX currently provides a lowpass filtering
  *		    algorithm for anti-aliasing, which is applied to the
  *		    existing set of bitmap fonts.  This lowpass filter
@@ -262,6 +321,12 @@
  *		    be writable by it.  Files created under  path/  are
  *		    named filename.gif, where filename is the 32-character
  *		    MD5 hash of the LaTeX expression.
+ *		-DDEFAULTSIZE=n
+ *		    MimeTeX currently has eight font sizes numbered 0-7,
+ *		    and always starts in DEFAULTSIZE whose default value
+ *		    is 3 (corresponding to \large). Specify -DDEFAULTSIZE=4
+ *		    on the compile line if you prefer mimeTeX to start in
+ *		    larger default size 4 (corresponding to \Large), etc.
  *		-DDISPLAYSIZE=n
  *		    By default, operator limits like \int_a^b are rendered
  *		    \textstyle at font sizes \normalsize and smaller,
@@ -273,11 +338,15 @@
  *		    \textstyle, \displaystyle, \limits or \nolimits
  *		    directives in an expression always override
  *		    the DISPLAYSIZE default.
- *		-NORMALSIZE=n
- *		    MimeTeX currently has six font sizes numbered 0-5,
- *		    and always starts in NORMALSIZE whose default value
- *		    is 2.  Specify -DNORMALSIZE=3 on the compile line if
- *		    you prefer mimeTeX to start in default size 3, etc.
+ *		-DERRORSTATUS=n
+ *		    The default, 0, means mimeTeX always exits with status 0,
+ *		    regardless of whether or not it detects error(s) while
+ *		    trying to render your expression.  Specify any non-zero
+ *		    value (typically -1) if you write a script/plugin for
+ *		    mimeTeX that traps non-zero exit statuses.  MimeTeX then
+ *		    exits with its own non-zero status when it detects an
+ *		    error it can identify, or with your ERRORSTATUS value
+ *		    for errors it can't specifically identify.
  *		-DREFERER=\"domain\"   -or-
  *		-DREFERER=\"domain1,domain2,etc\"
  *		    Blocks mimeTeX requests from unauthorized domains that
@@ -308,28 +377,6 @@
  *		    MimeTeX usually renders black symbols on a white
  *		    background.  This option renders white symbols on
  *		    a black background instead.
- *	      o	See individual function entry points for further comments.
- *	      o	The font information in texfonts.h was produced by multiple
- *		runs of gfuntype, one run per struct (i.e., one run per font
- *		family at a particular size).  See gfuntype.c, and also
- *		mimetex.html#fonts, for details.
- *	      o	mimetex.c contains library functions implementing a raster
- *		datatype, functions to manipulate rasterized .mf fonts
- *		(see gfuntype.c which rasterizes .mf fonts), functions
- *		to parse LaTeX expressions, etc.  A complete list of
- *		mimetex.c functions is above.  See their individual entry
- *		points below for further comments.
- *		   All these functions eventually belong in several
- *		different modules, possibly along the lines suggested
- *		by the divisions above.  But until the best decomposition
- *		becomes clear, it seems better to keep mimetex.c
- *		neatly together, avoiding a bad decomposition that
- *		becomes permanent by default.
- *	      o	The "main" reusable function is rasterize(),
- *		which takes a string like "f(x)=\int_{-\infty}^xe^{-t^2}dt"
- *		and returns a (sub)raster representing it as a bit or bytemap.
- *		Your application can do anything it likes with this pixel map.
- *		MimeTeX just outputs it, either as a mime xbitmap or as a gif.
  * --------------------------------------------------------------------------
  * Revision History:
  * 09/18/02	J.Forkosh	Installation.
@@ -343,10 +390,23 @@
  * 10/11/05	J.Forkosh	Version 1.64 released.
  * 11/30/06	J.Forkosh	Version 1.65 released.
  * 09/06/08	J.Forkosh	Version 1.70 released.
+ * 03/23/09	J.Forkosh	Version 1.71 released.
+ * 11/18/09	J.Forkosh	Version 1.72 released.
+ * 11/15/11	J.Forkosh	Version 1.73 released.
+ * 02/15/12	J.Forkosh	Version 1.74 released.
+ * 03/31/12	J.Forkosh	Most recent revision (also see REVISIONDATE)
+ * See  http://www.forkosh.com/mimetexchangelog.html  for further details.
  *
  ****************************************************************************/
 
 /* -------------------------------------------------------------------------
+Program id
+-------------------------------------------------------------------------- */
+#define	VERSION "1.74"			/* mimeTeX version number */
+#define REVISIONDATE "31 March 2012" /* date of most recent revision */
+#define COPYRIGHTTEXT "Copyright(c) 2002-2012, John Forkosh Associates, Inc"
+
+/* -------------------------------------------------------------------------
 header files and macros
 -------------------------------------------------------------------------- */
 /* --- standard headers --- */
@@ -357,8 +417,48 @@
 #include <ctype.h>
 #include <math.h>
 #include <time.h>
+extern	char **environ;		/* for \environment directive */
+
+/* -------------------------------------------------------------------------
+messages (used mostly by main() and also by rastmessage())
+-------------------------------------------------------------------------- */
+static	char *copyright1 =		/* copyright, gnu/gpl notice */
+ "+-----------------------------------------------------------------------+\n"
+ "|mimeTeX vers " VERSION ", " COPYRIGHTTEXT                             "|\n"
+ "+-----------------------------------------------------------------------+\n"
+ "| mimeTeX is free software, licensed to you under terms of the GNU/GPL, |\n"
+ "|           and comes with absolutely no warranty whatsoever.           |",
+*copyright2 =
+ "|          See http://www.forkosh.com/mimetex.html for details.         |\n"
+ "+-----------------------------------------------------------------------+";
+static	int maxmsgnum = 3,		/* maximum msgtable[] index */
+	/* --- keep these message numbers updated if table changes --- */
+	invmsgnum = 0,			/* general invalid message */
+	refmsgnum = 3;			/* urlncmp() failed to validate */
+static	char *msgtable[] = {		/* messages referenced by [index] */
+ "\\red\\small\\rm\\fbox{\\array{"	/* [0] is invalid_referer_msg */
+   "Please~read~www.forkosh.com/mimetex.html\\\\and~install~mimetex.cgi~"
+   "on~your~own~server.\\\\Thank~you,~John~Forkosh}}",
+ "\\red\\small\\rm\\fbox{\\array{"	/* [1] */
+   "Please~provide~your~{\\tiny~HTTP-REFERER}~to~access~the~public\\\\"
+   "mimetex~server.~~Or~please~read~~www.forkosh.com/mimetex.html\\\\"
+   "and~install~mimetex.cgi~on~your~own~server.~~Thank~you,~John~Forkosh}}",
+ "\\red\\small\\rm\\fbox{\\array{"	/* [2] */
+   "The~public~mimetex~server~is~for~testing.~~For~production,\\\\"
+   "please~read~~www.forkosh.com/mimetex.html~~and~install\\\\"
+   "mimetex.cgi~on~your~own~server.~~Thank~you,~John~Forkosh}}",
+ "\\red\\small\\rm\\fbox{\\array{"	/* [3] */
+   "Only~SERVER_NAME~may~use~mimetex~on~this~server.\\\\"
+   "Please~read~~www.forkosh.com/mimetex.html~~and~install\\\\"
+   "mimetex.cgi~on~your~own~server.~~Thank~you,~John~Forkosh}}",
+ NULL } ;				/* trailer */
 
-/* --- windows-specific header info --- */
+/* -------------------------------------------------------------------------
+additional symbols
+-------------------------------------------------------------------------- */
+/* ---
+ * windows-specific header info
+ * ---------------------------- */
 #ifndef WINDOWS			/* -DWINDOWS not supplied by user */
   #if defined(_WINDOWS) || defined(_WIN32) || defined(WIN32) \
   ||  defined(DJGPP)		/* try to recognize windows compilers */ \
@@ -388,7 +488,9 @@
   #define ISWINDOWS 0
 #endif
 
-/* --- check for supersampling or low-pass anti-aliasing --- */
+/* ---
+ * check for supersampling or low-pass anti-aliasing
+ * ------------------------------------------------- */
 #ifdef SS
   #define ISSUPERSAMPLING 1
   #ifndef AAALGORITHM
@@ -410,7 +512,9 @@
   #define MAXFOLLOW 8			/* aafollowline() maxturn default */
 #endif
 
-/* --- set aa (and default gif) if any anti-aliasing options specified --- */
+/* ---
+ * set aa (and default gif) if any anti-aliasing options specified
+ * --------------------------------------------------------------- */
 #if defined(AA) || defined(GIF) || defined(PNG) \
 ||  defined(CENTERWT) || defined(ADJACENTWT) || defined(CORNERWT) \
 ||  defined(MINADJACENT) || defined(MAXADJACENT)
@@ -434,29 +538,29 @@
   #endif
 #endif
 
-/* --- decide whether to compile main() --- */
+/* ---
+ * decide whether or not to compile main()
+ * --------------------------------------- */
 #if defined(XBITMAP) || defined(GIF) || defined(PNG)
-  #define DRIVER			/* driver will be compiled */
-  /* --- check whether or not to perform http_referer check --- */
-  #ifndef REFERER			/* all http_referer's allowed */
-    #define REFERER NULL
-  #endif
-  /* --- max query_string length if no http_referer supplied --- */
-  #ifndef NOREFMAXLEN
-    #define NOREFMAXLEN 9999		/* default to any length query */
-  #endif
-#else
+  /* --- yes, compile main() --- */
+  #define DRIVER			/* main() driver will be compiled */
+#else /* --- main() won't be compiled (e.g., for gfuntype.c) --- */
   #ifndef TEXFONTS
     #define NOTEXFONTS			/* texfonts not required */
   #endif
 #endif
 
-/* --- application headers --- */
+/* ---
+ * application headers
+ * ------------------- */
 #if !defined(NOTEXFONTS) && !defined(TEXFONTS)
   #define TEXFONTS			/* to include texfonts.h */
 #endif
 #include "mimetex.h"
-/* --- info needed when gif image returned in memory buffer --- */
+
+/* ---
+ * info needed when gif image returned in memory buffer
+ * ---------------------------------------------------- */
 #ifdef GIF				/* compiling along with gifsave.c */
   extern int gifSize;
   extern int maxgifSize;
@@ -476,7 +580,10 @@
 #else
   #define ISTRANSPARENT 0
 #endif
-/* --- internal buffer sizes --- */
+
+/* ---
+ * internal buffer sizes
+ * --------------------- */
 #if !defined(MAXEXPRSZ)
   #define MAXEXPRSZ (32768-1)		/*max #bytes in input tex expression*/
 #endif
@@ -499,7 +606,9 @@
 /* -------------------------------------------------------------------------
 adjustable default values
 -------------------------------------------------------------------------- */
-/* --- anti-aliasing parameters --- */
+/* ---
+ * anti-aliasing parameters
+ * ------------------------ */
 #ifndef	CENTERWT
   /*#define CENTERWT 32*/		/* anti-aliasing centerwt default */
   /*#define CENTERWT 10*/		/* anti-aliasing centerwt default */
@@ -574,6 +683,14 @@
 #ifndef	FGBLUE
   #define FGBLUE  (ISBLACKONWHITE?0:255)
 #endif
+/* --- advertisement
+   one image in every ADFREQUENCY is wrapped in "advertisement" --- */
+#if !defined(ADFREQUENCY)
+  #define ADFREQUENCY 0			/* never show advertisement if 0 */
+#endif
+#ifndef	HOST_SHOWAD
+  #define HOST_SHOWAD "\000"		/* show ads on all hosts */
+#endif
 /* --- "smash" margin (0 means no smashing) --- */
 #ifndef SMASHMARGIN
   #ifdef NOSMASH
@@ -615,6 +732,72 @@
 #if !defined(NODUMPENVP) && !defined(DUMPENVP)
   #define DUMPENVP			/* assume char *envp[] available */
 #endif
+/* --- max query_string length if no http_referer supplied --- */
+#ifndef NOREFMAXLEN
+  #define NOREFMAXLEN 9999		/* default to any length query */
+#endif
+#ifndef NOREFSAFELEN
+  #define NOREFSAFELEN 24		/* too small for hack exploit */
+#endif
+/* --- check whether or not to perform http_referer check --- */
+#ifdef REFERER				/* only specified referers allowed */
+  #undef NOREFMAXLEN
+  #define NOREFMAXLEN NOREFSAFELEN
+#else					/* all http_referer's allowed */
+  #define REFERER NULL
+#endif
+/* --- check top levels of http_referer against server_name --- */
+#ifdef REFLEVELS			/* #topmost levels to check */
+  #undef NOREFMAXLEN
+  #define NOREFMAXLEN NOREFSAFELEN
+#else
+  #ifdef NOREFCHECK
+    #define REFLEVELS 0			/* don't match host and referer */
+  #else
+    #define REFLEVELS 3			/* default matches abc.def.com */
+  #endif
+#endif
+/* --- check whether or not \input, \counter, \environment permitted --- */
+#ifdef DEFAULTSECURITY			/* default security specified */
+  #define EXPLICITDEFSECURITY		/* don't override explicit default */
+#else					/* defualt security not specified */
+  #define DEFAULTSECURITY (8)		/* so set default security level */
+#endif
+#ifdef INPUTREFERER 			/*http_referer's permitted to \input*/
+  #ifndef INPUTSECURITY			/* so we need to permit \input{} */
+    #define INPUTSECURITY (99999)	/* make sure SECURITY<INPUTSECURITY */
+  #endif
+#else					/* no INPUTREFERER list supplied */
+  #define INPUTREFERER NULL		/* so init it as NULL pointer */
+#endif
+#ifndef INPUTPATH 			/* \input{} paths permitted for... */
+  #define INPUTPATH NULL		/* ...any referer */
+#endif
+#ifndef INPUTSECURITY			/* \input{} security not specified */
+  #ifdef INPUTOK			/* but INPUTOK flag specified */
+    #define INPUTSECURITY (99999)	/* so enable \input{} */
+    #ifndef EXPLICITDEFSECURITY		/* don't override explicit default */
+      #undef  DEFAULTSECURITY		/* but we'll override our default */
+      #define DEFAULTSECURITY (99999)	/*let -DINPUTOK enable \counter,etc*/
+    #endif
+  #else					/* else no \input{} specified */
+    #define INPUTSECURITY DEFAULTSECURITY /* set default \input security */
+  #endif
+#endif
+#ifndef COUNTERSECURITY			/*\counter{} security not specified*/
+  #ifdef COUNTEROK			/* but COUNTEROK flag specified */
+    #define COUNTERSECURITY (99999)	/* so enable \counter{} */
+  #else					/* else no \counter{} specified */
+    #define COUNTERSECURITY DEFAULTSECURITY /*set default \counter security*/
+  #endif
+#endif
+#ifndef ENVIRONSECURITY			/* \environ security not specified */
+  #ifdef ENVIRONOK			/* but ENVIRONOK flag specified */
+    #define ENVIRONSECURITY (99999)	/* so enable \environ */
+  #else					/* else no \environ specified */
+    #define ENVIRONSECURITY DEFAULTSECURITY /*set default \environ security*/
+  #endif
+#endif
 /* --- image caching (cache images if given -DCACHEPATH=\"path\") --- */
 #ifndef CACHEPATH
   #define ISCACHING 0			/* no caching */
@@ -653,8 +836,16 @@
 #ifndef FORMLEVEL
   #define FORMLEVEL LOGLEVEL		/*msglevel if called from html form*/
 #endif
+#ifndef	ERRORSTATUS			/* exit(ERRORSTATUS) for any error */
+  #define ERRORSTATUS 0			/* default doesn't signal errors */
+#endif
 GLOBAL(int,seclevel,SECURITY);		/* security level */
+GLOBAL(int,inputseclevel,INPUTSECURITY); /* \input{} security level */
+GLOBAL(int,counterseclevel,COUNTERSECURITY); /* \counter{} security level */
+GLOBAL(int,environseclevel,ENVIRONSECURITY); /* \environ{} security level */
 GLOBAL(int,msglevel,MSGLEVEL);		/* message level for verbose/debug */
+GLOBAL(int,errorstatus,ERRORSTATUS);	/* exit status if error encountered*/
+GLOBAL(int,exitstatus,0);		/* exit status (0=success) */
 STATIC	FILE *msgfp;			/* output in command-line mode */
 /* --- embed warnings in rendered expressions, [\xxx?] if \xxx unknown --- */
 #ifdef WARNINGS
@@ -671,6 +862,7 @@
 /* -------------------------------------------------------------------------
 control flags and values
 -------------------------------------------------------------------------- */
+GLOBAL(int,daemonlevel,0);		/* incremented in main() */
 GLOBAL(int,recurlevel,0);		/* inc/decremented in rasterize() */
 GLOBAL(int,scriptlevel,0);		/* inc/decremented in rastlimits() */
 GLOBAL(int,isstring,0);			/*pixmap is ascii string, not raster*/
@@ -679,18 +871,25 @@
 /*SHARED(int,imageformat,1);*/		/* image is 1=bitmap, 2=.gf-like */
 GLOBAL(int,isdisplaystyle,1);		/* displaystyle mode (forced if 2) */
 GLOBAL(int,ispreambledollars,0);	/* displaystyle mode set by $$...$$ */
+GLOBAL(int,ninputcmds,0);		/* # of \input commands processed */
 GLOBAL(int,fontnum,0);			/* cal=1,scr=2,rm=3,it=4,bb=5,bf=6 */
 GLOBAL(int,fontsize,NORMALSIZE);	/* current size */
+GLOBAL(int,magstep,1);			/* magstep (1=no change) */
 GLOBAL(int,displaysize,DISPLAYSIZE);	/* use \displaystyle when fontsize>=*/
 GLOBAL(int,shrinkfactor,3);		/* shrinkfactors[fontsize] */
+GLOBAL(int,rastlift,0);			/* rastraise() lift parameter */
+GLOBAL(int,rastlift1,0);		/* rastraise() lift for base exprssn*/
 GLOBAL(double,unitlength,1.0);		/* #pixels per unit (may be <1.0) */
+GLOBAL(int,iunitlength,1);		/* #pixels per unit as int for store*/
 /*GLOBAL(int,textwidth,TEXTWIDTH);*/	/* #pixels across line */
+GLOBAL(int,adfrequency,ADFREQUENCY);	/* advertisement frequency */
 GLOBAL(int,isnocatspace,0);		/* >0 to not add space in rastcat()*/
 GLOBAL(int,smashmargin,SMASHMARGIN);	/* minimum "smash" margin */
 GLOBAL(int,mathsmashmargin,SMASHMARGIN); /* needed for \text{if $n-m$ even}*/
 GLOBAL(int,issmashdelta,1);		/* true if smashmargin is a delta */
 GLOBAL(int,isexplicitsmash,0);		/* true if \smash explicitly given */
 GLOBAL(int,smashcheck,SMASHCHECK);	/* check if terms safe to smash */
+GLOBAL(int,isnomath,0);			/* true to inhibit math mode */
 GLOBAL(int,isscripted,0);		/* is (lefthand) term text-scripted*/
 GLOBAL(int,isdelimscript,0);		/* is \right delim text-scripted */
 GLOBAL(int,issmashokay,0);		/*is leading char okay for smashing*/
@@ -732,8 +931,26 @@
 /*GLOBAL(int,iswindows,ISWINDOWS);*/	/* true if compiled for ms windows */
 
 /* -------------------------------------------------------------------------
+store for evalterm() [n.b., these are stripped-down funcs from nutshell]
+-------------------------------------------------------------------------- */
+#define	STORE struct store_struct	/* "typedef" for store struct */
+#define	MAXSTORE 100			/* max 100 identifiers */
+STORE {
+  char	*identifier;			/* identifier */
+  int	*value;				/* address of corresponding value */
+  } ; /* --- end-of-store_struct --- */
+static STORE mimestore[MAXSTORE] = {
+    { "fontsize", &fontsize },	{ "fs", &fontsize },	/* font size */
+    { "fontnum", &fontnum },	{ "fn", &fontnum },	/* font number */
+    { "unitlength", &iunitlength },			/* unitlength */
+    /*{ "mytestvar", &mytestvar },*/
+    { NULL, NULL }					/* end-of-store */
+  } ; /* --- end-of-mimestore[] --- */
+
+/* -------------------------------------------------------------------------
 miscellaneous macros
 -------------------------------------------------------------------------- */
+#if 0	/* --- these are now #define'd in mimetex.h --- */
 #define	max2(x,y)  ((x)>(y)? (x):(y))	/* larger of 2 arguments */
 #define	min2(x,y)  ((x)<(y)? (x):(y))	/* smaller of 2 arguments */
 #define	max3(x,y,z) max2(max2(x,y),(z))	/* largest of 3 arguments */
@@ -741,13 +958,47 @@
 #define absval(x)  ((x)>=0?(x):(-(x)))	/* absolute value */
 #define	iround(x)  ((int)((x)>=0?(x)+0.5:(x)-0.5)) /* round double to int */
 #define	dmod(x,y)  ((x)-((y)*((double)((int)((x)/(y)))))) /*x%y for doubles*/
+#endif
 #define compress(s,c) if((s)!=NULL)	/* remove embedded c's from s */ \
-	{ char *p; while((p=strchr((s),(c)))!=NULL) strcpy(p,p+1); } else
+	{ char *p; while((p=strchr((s),(c)))!=NULL) {strsqueeze(p,1);} } else
 #define	slower(s)  if ((s)!=NULL)	/* lowercase all chars in s */ \
 	{ char *p=(s); while(*p!='\000'){*p=tolower(*p); p++;} } else
 /*subraster *subrastcpy();*/		/* need global module declaration */
-/*#define spnosmash(sp) if (sp->type==CHARASTER) sp=subrastcpy(sp); \*/
-/*	sp->type=blanksignal*/
+/*#define spnosmash(sp) if (sp->type==CHARASTER) sp=subrastcpy(sp); \ */
+/*	sp->type=blanksignal */
+/* ---evaluate \directive[arg] or \directive{arg} scaled by unitlength--- */
+#define	eround(arg) (iround(unitlength*((double)evalterm(mimestore,(arg)))))
+/* --- check if a string is empty --- */
+#define	isempty(s)  ((s)==NULL?1:(*(s)=='\000'?1:0))
+/* --- last char of a string --- */
+#define	lastchar(s) (isempty(s)?'\000':*((s)+(strlen(s)-1)))
+/* --- lowercase a string --- */
+#define	strlower(s) strnlower((s),0)	/* lowercase an entire string */
+/* --- strip leading and trailing whitespace (including ~) --- */
+#define	trimwhite(thisstr) if ( (thisstr) != NULL ) { \
+	int thislen = strlen(thisstr); \
+	while ( --thislen >= 0 ) \
+	  if ( isthischar((thisstr)[thislen]," \t\n\r\f\v") ) \
+	    (thisstr)[thislen] = '\000'; \
+	  else break; \
+	if ( (thislen = strspn((thisstr)," \t\n\r\f\v")) > 0 ) \
+	  {strsqueeze((thisstr),thislen);} } else
+/* --- strncpy() n bytes and make sure it's null-terminated --- */
+#define	strninit(target,source,n) if( (target)!=NULL && (n)>=0 ) { \
+	  char *thissource = (source); \
+	  (target)[0] = '\000'; \
+	  if ( (n)>0 && thissource!=NULL ) { \
+	    strncpy((target),thissource,(n)); \
+	    (target)[(n)] = '\000'; } }
+/* --- strcpy(s,s+n) using memmove() (also works for negative n) --- */
+#define	strsqueeze(s,n) if((n)!=0) { if(!isempty((s))) { \
+	int thislen3=strlen(s); \
+	if ((n) >= thislen3) *(s) = '\000'; \
+	else memmove(s,s+(n),1+thislen3-(n)); }} else/*user supplies final;*/
+/* --- strsqueeze(s,t) with two pointers --- */
+#define	strsqueezep(s,t) if(!isempty((s))&&!isempty((t))) { \
+	int sqlen=strlen((s))-strlen((t)); \
+	if (sqlen>0 && sqlen<=999) {strsqueeze((s),sqlen);} } else
 
 /* ---
  * PART2
@@ -1139,6 +1390,178 @@
 
 
 /* ==========================================================================
+ * Function:	rastmag ( rp, magstep )
+ * Purpose:	magnifies rp by integer magstep,
+ *		e.g., double-height and double-width if magstep=2
+ * --------------------------------------------------------------------------
+ * Arguments:	rp (I)		ptr to raster struct to be "magnified"
+ *		magstep (I)	int containing magnification scale,
+ *				e.g., 2 to double the width and height of rp
+ * --------------------------------------------------------------------------
+ * Returns:	( raster * )	ptr to new raster magnified relative to rp,
+ *				or NULL for any error.
+ * --------------------------------------------------------------------------
+ * Notes:     o
+ * ======================================================================= */
+/* --- entry point --- */
+raster	*rastmag ( raster *rp, int magstep )
+{
+/* -------------------------------------------------------------------------
+Allocations and Declarations
+-------------------------------------------------------------------------- */
+raster	*new_raster(), *magnified=NULL;	/* magnified raster back to caller */
+int	height = rp->height, irow,	/* height, row index */
+	width = rp->width, icol,	/* width, column index */
+	mrow = 0, mcol = 0,		/* dup pixels magstep*magstep times*/
+	pixsz = rp->pixsz;		/* #bits per pixel */
+/* -------------------------------------------------------------------------
+check args
+-------------------------------------------------------------------------- */
+if ( rp == NULL ) goto end_of_job;	/* no input raster supplied */
+if ( magstep<1 || magstep>10 ) goto end_of_job; /* sanity check */
+/* -------------------------------------------------------------------------
+allocate magnified raster and fill it
+-------------------------------------------------------------------------- */
+/* --- allocate magnified raster with magstep*width, magstep*height --- */
+if ( (magnified = new_raster(magstep*width,magstep*height,pixsz))/*allocate*/
+!=   NULL )				/* check that allocation succeeded */
+  /* --- fill reflected raster --- */
+  for ( irow=0; irow<height; irow++ )	/* for each row of rp */
+    for ( mrow=0; mrow<magstep; mrow++ ) /* dup row magstep times */
+      for ( icol=0; icol<width; icol++ ) /* and for each column of rp */
+        for ( mcol=0; mcol<magstep; mcol++ ) { /* dup col magstep times */
+         int value = getpixel(rp,irow,icol);
+	 int row1 = irow*magstep, col1 = icol*magstep;
+         setpixel(magnified,(row1+mrow),(col1+mcol),value); }
+end_of_job:
+  return ( magnified );			/*return magnified raster to caller*/
+} /* --- end-of-function rastmag() --- */
+
+
+/* ==========================================================================
+ * Function:	bytemapmag ( bytemap, width, height, magstep )
+ * Purpose:	magnifies a bytemap by integer magstep,
+ *		e.g., double-height and double-width if magstep=2
+ * --------------------------------------------------------------------------
+ * Arguments:	bytemap (I)	intbyte * ptr to byte map to be "magnified"
+ *		width (I)	int containing #cols in original bytemap
+ *		height (I)	int containing #rows in original bytemap
+ *		magstep (I)	int containing magnification scale,
+ *				e.g., 2 to double the width and height of rp
+ * --------------------------------------------------------------------------
+ * Returns:	( intbyte * )	ptr to new bytemap magnified relative to
+ *				original bytemap, or NULL for any error.
+ * --------------------------------------------------------------------------
+ * Notes:     o	Apply EPX/Scale2x/AdvMAME2x  for magstep 2,
+ *		and Scale3x/AdvMAME3x  for magstep 3,
+ *		as described by http://en.wikipedia.org/wiki/2xSaI
+ * ======================================================================= */
+/* --- entry point --- */
+intbyte	*bytemapmag ( intbyte *bytemap, int width, int height, int magstep )
+{
+/* -------------------------------------------------------------------------
+Allocations and Declarations
+-------------------------------------------------------------------------- */
+intbyte	*magnified=NULL;		/* magnified bytemap back to caller*/
+int	irow, icol,			/* original height, width indexes */
+	mrow=0, mcol=0;			/* dup bytes magstep*magstep times */
+int	imap = (-1),			/* original bytemap[] index */
+	byteval = 0;			/* byteval=bytemap[imap] */
+int	isAdvMAME = 1;			/* true to apply AdvMAME2x and 3x */
+int	icell[10],			/* bytemap[] nearest neighbors */
+	bmmdiff = 64;			/* nearest neighbor diff allowed */
+#define	bmmeq(i,j) ((absval((icell[i]-icell[j]))<=bmmdiff)) /*approx equal*/
+/* -------------------------------------------------------------------------
+check args
+-------------------------------------------------------------------------- */
+if ( bytemap == NULL ) goto end_of_job;	/* no input bytemap supplied */
+if ( width<1 || height<1 ) goto end_of_job; /* invalid bytemap dimensions */
+if ( width*height>100000 ) goto end_of_job; /* sanity check */
+if ( magstep<1 || magstep>10 ) goto end_of_job; /* sanity check */
+/* -------------------------------------------------------------------------
+allocate magnified bytemap and fill it
+-------------------------------------------------------------------------- */
+/* --- allocate bytemap for magstep*width, magstep*height --- */
+if ( (magnified = (intbyte *)(malloc(magstep*width*magstep*height)))/*alloc*/
+!=   NULL )				/* check that allocation succeeded */
+  /* --- fill reflected raster --- */
+  for ( irow=0; irow<height; irow++ )	/* for each row of bytemap */
+   for ( icol=0; icol<width; icol++ ) { /* and for each column of bytemap */
+    int imag1 = (icol + irow*(width*magstep))*magstep; /*upper-left corner*/
+    imap++;				/* bump bytemap[] index */
+    byteval = (int)(bytemap[imap]);	/* grayscale value at this pixel */
+    for ( mrow=0; mrow<magstep; mrow++ ) /* dup row magstep times */
+     for ( mcol=0; mcol<magstep; mcol++ ) { /* dup col magstep times */
+      int idup = mcol + mrow*(width*magstep); /* offset from imag1 */
+      int imag = imag1+idup;		/* adjust magnified[imag] */
+      magnified[imag] = (intbyte)(byteval);
+      /* --- apply AdvMAME2x and 3x (if desired) --- */
+      if ( isAdvMAME ) {		/* AdvMAME2x and 3x wanted */
+       int mcell = 1 + mcol + magstep*mrow; /*1,2,3,4 or 1,2,3,4,5,6,7,8,9*/
+       icell[5]= byteval,		/* center cell of 3x3 bytemap[] */
+       icell[4]= (icol>0?(int)(bytemap[imap-1]):byteval), /*left of center*/
+       icell[6]= (icol<width?(int)(bytemap[imap+1]):byteval), /*right*/
+       icell[2]= (irow>0?(int)(bytemap[imap-width]):byteval),/*above center*/
+       icell[8]= (irow<height?(int)(bytemap[imap+width]):byteval), /*below*/
+       icell[1]= (irow>0&&icol>0?(int)(bytemap[imap-width-1]):byteval),
+       icell[3]= (irow>0&&icol<width?(int)(bytemap[imap-width+1]):byteval),
+       icell[7]= (irow<height&&icol>0?(int)(bytemap[imap+width-1]):byteval),
+      icell[9]=(irow<height&&icol<width?(int)(bytemap[imap+width+1]):byteval);
+       switch ( magstep ) {		/* 2x magstep=2, 3x magstep=3 */
+        default: break;			/* no AdvMAME at other magsteps */
+        case 2:				/* AdvMAME2x */
+         if ( mcell == 1 )
+           if ( bmmeq(4,2) && !bmmeq(4,8) && !bmmeq(2,6) )
+             magnified[imag] = icell[2];
+         if ( mcell == 2 )
+           if ( bmmeq(2,6) && !bmmeq(2,4) && !bmmeq(6,8) )
+             magnified[imag] = icell[6];
+         if ( mcell == 4 )
+           if ( bmmeq(6,8) && !bmmeq(6,2) && !bmmeq(8,4) )
+             magnified[imag] = icell[8];
+         if ( mcell == 3 )
+           if ( bmmeq(8,4) && !bmmeq(8,6) && !bmmeq(4,2) )
+             magnified[imag] = icell[4];
+         break;
+        case 3:				/* AdvMAME3x */
+         if ( mcell == 1 )
+           if ( bmmeq(4,2) && !bmmeq(4,8) && !bmmeq(2,6) )
+             magnified[imag] = icell[4];
+         if ( mcell == 2 )
+           if ( (bmmeq(4,2) && !bmmeq(4,8) && !bmmeq(2,6) && !bmmeq(5,3))
+             || (bmmeq(2,6) && !bmmeq(2,4) && !bmmeq(6,8) && !bmmeq(5,1)) )
+             magnified[imag] = icell[2];
+         if ( mcell == 3 )
+           if ( bmmeq(2,6) && !bmmeq(2,4) && !bmmeq(6,8) )
+             magnified[imag] = icell[6];
+         if ( mcell == 4 )
+           if ( (bmmeq(8,4) && !bmmeq(8,6) && !bmmeq(4,2) && !bmmeq(5,1))
+             || (bmmeq(4,2) && !bmmeq(4,8) && !bmmeq(2,6) && !bmmeq(5,7)) )
+             magnified[imag] = icell[4];
+         if ( mcell == 6 )
+           if ( (bmmeq(2,6) && !bmmeq(2,4) && !bmmeq(6,8) && !bmmeq(5,9))
+             || (bmmeq(6,8) && !bmmeq(6,2) && !bmmeq(8,4) && !bmmeq(5,3)) )
+             magnified[imag] = icell[6];
+         if ( mcell == 7 )
+           if ( bmmeq(8,4) && !bmmeq(8,6) && !bmmeq(4,2) )
+             magnified[imag] = icell[4];
+         if ( mcell == 8 )
+           if ( (bmmeq(6,8) && !bmmeq(6,2) && !bmmeq(8,4) && !bmmeq(5,7))
+             || (bmmeq(8,4) && !bmmeq(8,6) && !bmmeq(4,2) && !bmmeq(5,9)) )
+             magnified[imag] = icell[8];
+         if ( mcell == 9 )
+           if ( bmmeq(6,8) && !bmmeq(6,2) && !bmmeq(8,4) )
+             magnified[imag] = icell[6];
+         break;
+        } } /* --- end-of-switch(magstep) --- */
+      } /* --- end-of-for(mrow,mcol) --- */
+    } /* --- end-of-for(irow,icol) --- */
+end_of_job:
+  return ( magnified );			/*return magnified raster to caller*/
+} /* --- end-of-function bytemapmag() --- */
+
+
+/* ==========================================================================
  * Function:	rastref ( rp, axis )
  * Purpose:	reflects rp, horizontally about y-axis |_ becomes _| if axis=1
  *		or vertically about x-axis M becomes W if axis=2.
@@ -1259,14 +1682,50 @@
  *				to horizontally shift sp2 relative to sp1,
  *				either positive (right) or negative
  *		isalign (I)	int containing 1 to align baselines,
- *				or 0 to vertically center sp2 over sp1
+ *				or 0 to vertically center sp2 over sp1.
+ *				For isalign=2, images are vertically
+ *				centered, but then adjusted by \raisebox
+ *				lifts, using global variables rastlift1
+ *				for sp1 and rastlift for sp2.
  *		isfree (I)	int containing 1=free sp1 before return,
  *				2=free sp2, 3=free both, 0=free none.
  * --------------------------------------------------------------------------
  * Returns:	( subraster * )	pointer to constructed subraster
  *				or  NULL for any error
  * --------------------------------------------------------------------------
- * Notes:
+ * Notes:     o	The top-left corner of each raster box has coords (0,0),
+ *		down to (h-1,w-1) for a box of height h and width w.
+ *	      o	A raster's baseline, b, is typically 0 <= b < h.
+ *		But b can actually go out-of-bounds, b>=h or b<0, for
+ *		an image additionally lifted (b>=h) or lowered (b<0)
+ *		with respect to the surrounding expression.
+ *	      o	Note that b=h-1 means no descenders and the bottom
+ *		of the symbol rests exactly on the baseline,
+ *		whereas b=0 means the top pixel of the symbol rests
+ *		on the baseline, and all other pixels are descenders.
+ *	      o	The composite raster is constructed as follows...
+ *		The base image is labelled height h1 and baseline b1,
+ *		the overlay h2 and b2, and the composite H and B.
+ *		     base       overlay
+ *	    --- +------------------------+ ---   For the overlay to be
+ *	     ^  |   ^        +----------+|  ^    vertically centered with
+ *	     |  |   |        |          ||  |    respect to the base,
+ *	     |  |   |B-b1    |          ||  |      B - b1 = H-B -(h1-b1), so
+ *	     |  |   v        |          ||  |      2*B = H-h1 + 2*b1
+ *	     |  |+----------+|          ||  |      B = b1 + (H-h1)/2
+ *	     B  ||  ^    ^  ||          ||  |    And when the base image is
+ *	     |  ||  |    |  ||          ||  |    bigger, H=h1 and B=b1 is
+ *	     |  ||  b1   |  ||          ||  |    the obvious correct answer.
+ *	     |  ||  |    h1 ||          || H=h2
+ *	     v  ||  v    |  ||          ||  |
+ *    ----------||-------|--||          ||--|--------
+ *    baseline  || h1-b1 v  || overlay  ||  |
+ *    for base  |+----------+| baseline ||  |
+ *    and com-  |   ^        | ignored  ||  |
+ *    posite    |   |H-B-    |----------||  |
+ *		|   | (h1-b1)|          ||  |
+ *		|   v        +----------+|  v
+ *		+------------------------+ ---
  * ======================================================================= */
 /* --- entry point --- */
 subraster *rastcompose ( subraster *sp1, subraster *sp2, int offset2,
@@ -1287,20 +1746,39 @@
 	height2 = (sp2->image)->height,	/* height for overlaid subraster */
 	width2  = (sp2->image)->width,	/* width for overlaid subraster */
 	pixsz2  = (sp2->image)->pixsz;	/* pixsz for overlaid subraster */
-int	height=0, width=0, pixsz=0, base=0; /* overlaid composite */
+int	height  = max2(height1,height2), /*composite height if sp2 centered*/
+	base    = base1 + (height-height1)/2, /* and composite baseline */
+	tlc2    = (height-height2)/2,	/* top-left corner for overlay */
+	width=0, pixsz=0;		/* other params for composite */
+int	lift1   = rastlift1,		/* vertical \raisebox lift for sp1 */
+	lift2   = rastlift;		/* vertical \raisebox lift for sp2 */
 /* -------------------------------------------------------------------------
 Initialization
 -------------------------------------------------------------------------- */
 /* --- determine height, width and baseline of composite raster --- */
-if ( isalign )				/* baselines of sp1,sp2 aligned */
-  { height = max2(base1+1,base2+1)	/* max height above baseline */
-           + max2(height1-base1-1,height2-base2-1); /*+ max descending below*/
-    base   = max2(base1,base2); }	/* max space above baseline */
-else					/* baselines not aligned */
-  { height = max2(height1,height2);	/* max height */
-    base   = base1 + (height-height1)/2; } /* baseline for sp1 */
-width      = max2(width1,width2+abs(offset2)); /* max width */
-pixsz      = max2(pixsz1,pixsz2);	/* bitmap,bytemap becomes bytemap */
+switch ( isalign ) {
+  default:
+  case 0:				/* centered, baselines not aligned */
+    height = max2(height1,height2);	/* max height */
+    base   = base1 + (height-height1)/2; /* baseline for sp1 */
+    break;
+  case 1:				/* baselines of sp1,sp2 aligned */
+    height = max2(base1+1,base2+1)	/* max height above baseline */
+           + max2(height1-base1-1,height2-base2-1); /*+max descending below*/
+    base   = max2(base1,base2);		/* max space above baseline */
+    break;
+  case 2:				/* centered +/- \raisebox lifts */
+    base1 -= lift1;  base2 -= lift2;	/* reset to unlifted images */
+    /* --- start with default for centered, unlifted images --- */
+    height2 += 2*absval(lift2);		/* "virtual" height of overlay */
+    height = max2(height1,height2);	/* max height */
+    base   = base1 + (height-height1)/2; /* baseline for sp1 */
+    tlc2   = (height-height2)/2		/* top-left corner for overlay */
+           + (lift2>=0?0:2*absval(lift2)); /* "reflect" overlay below base */
+    break;
+  } /* --- end-of-switch(isalign) --- */
+width = max2(width1,width2+abs(offset2)); /* max width */
+pixsz = max2(pixsz1,pixsz2);		/* bitmap,bytemap becomes bytemap */
 /* -------------------------------------------------------------------------
 allocate concatted composite subraster
 -------------------------------------------------------------------------- */
@@ -1311,19 +1789,29 @@
 sp->type = IMAGERASTER;			/* image */
 sp->baseline = base;			/* composite baseline */
 sp->size = sp1->size;			/* underlying char is sp1 */
+if ( isalign == 2 ) sp->baseline += lift1; /* adjust baseline */
 /* --- extract raster from subraster --- */
 rp = sp->image;				/* raster allocated in subraster */
 /* -------------------------------------------------------------------------
 overlay sp1 and sp2 in new composite raster
 -------------------------------------------------------------------------- */
-if ( isalign )
-  { rastput (rp, sp1->image, base-base1, (width-width1)/2, 1);	/*underlying*/
-    rastput (rp, sp2->image, base-base2,			/*overlaid*/
-		(width-width2)/2+offset2, 0); }
-else
-  { rastput (rp, sp1->image, base-base1, (width-width1)/2, 1);	/*underlying*/
+switch ( isalign ) {
+  default:
+  case 0:				/* centered, baselines not aligned */
+    rastput (rp, sp1->image, base-base1, (width-width1)/2, 1);	/*underlying*/
     rastput (rp, sp2->image, (height-height2)/2,		/*overlaid*/
-		(width-width2)/2+offset2, 0); }
+		(width-width2)/2+offset2, 0);
+    break;
+  case 1:				/* baselines of sp1,sp2 aligned */
+    rastput (rp, sp1->image, base-base1, (width-width1)/2, 1);	/*underlying*/
+    rastput (rp, sp2->image, base-base2,			/*overlaid*/
+		(width-width2)/2+offset2, 0);
+    break;
+  case 2: if(1){			/* centered +/- \raisebox lifts */
+    rastput (rp, sp1->image, base-base1, (width-width1)/2, 1);
+    rastput (rp, sp2->image, tlc2, (width-width2)/2+offset2, 0); }
+    break;
+  } /* --- end-of-switch(isalign) --- */
 /* -------------------------------------------------------------------------
 free input if requested
 -------------------------------------------------------------------------- */
@@ -1846,16 +2334,16 @@
 skip leading white and gray space
 -------------------------------------------------------------------------- */
 /* --- first check input --- */
-if ( term == NULL )    goto end_of_job; /* no input so return 0 to caller */
-if ( *term == '\000' ) goto end_of_job; /* ditto for empty string */
+if ( isempty(term) ) goto end_of_job; /* no input so return 0 to caller */
 /* --- skip leading white space --- */
-skipwhite(term);		/* skip leading white sapce */
+skipwhite(term);		/* skip leading white space */
 if ( *term == '\000' ) goto end_of_job; /* nothing but white space */
 /* --- skip leading gray space --- */
 skipgray:
  for ( i=0; (token=grayspace[i]) != NULL; i++ ) /* check each grayspace */
   if ( strncmp(term,token,strlen(token)) == 0 ) { /* found grayspace */
    term += strlen(token);	/* skip past this grayspace token */
+   skipwhite(term);		/* and skip any subsequent white space */
    if ( *term == '\000' ) {	/* nothing left so quit */
      if ( msgfp!=NULL && msglevel >= 99 ) /* display for debugging */
        fprintf(msgfp,"rastsmashcheck> only grayspace in %.32s\n",expression);
@@ -1890,7 +2378,7 @@
 
 
 /* ==========================================================================
- * Function:	accent_subraster ( accent, width, height, pixsz )
+ * Function:	accent_subraster ( accent, width, height, direction, pixsz )
  * Purpose:	Allocate a new subraster of width x height
  *		(or maybe different dimensions, depending on accent),
  *		and draw an accent (\hat or \vec or \etc) that fills it
@@ -1899,6 +2387,8 @@
  *				etc, indicating the type of accent desired
  *		width (I)	int containing desired width of accent (#cols)
  *		height (I)	int containing desired height of accent(#rows)
+ *		direction (I)	int containing desired direction of accent,
+ *				+1=right, -1=left, 0=left/right
  *		pixsz (I)	int containing 1 for bitmap, 8 for bytemap
  * --------------------------------------------------------------------------
  * Returns:	( subraster * )	ptr to newly-allocated subraster with accent,
@@ -1908,7 +2398,8 @@
  *		and caller should check dimensions in returned subraster
  * ======================================================================= */
 /* --- entry point --- */
-subraster *accent_subraster (  int accent, int width, int height, int pixsz )
+subraster *accent_subraster (  int accent, int width, int height,
+int direction, int pixsz )
 {
 /* -------------------------------------------------------------------------
 Allocations and Declarations
@@ -1931,6 +2422,13 @@
 	*rastcpy();			/* may need copy of original */
 subraster *arrow_subraster();		/* rightarrow for vec */
 subraster *rastack();			/* stack accent atop extra space */
+int	iswidthneg = 0;			/* set true if width<0 arg passed */
+int	serifwidth=0;			/* serif for surd */
+int	isBig=0;			/* true for ==>arrow, false for -->*/
+/* -------------------------------------------------------------------------
+initialization
+-------------------------------------------------------------------------- */
+if ( width < 0 ) { width=(-width); iswidthneg=1; } /* set neg width flag */
 /* -------------------------------------------------------------------------
 outer switch() traps accents that may change caller's height,width
 -------------------------------------------------------------------------- */
@@ -1987,11 +2485,15 @@
 	break;
     /* --- sqrt request --- */
     case SQRTACCENT:
-	col1 = SQRTWIDTH(height) - 1;	/* right col of sqrt symbol */
-	col0 = (col1+2)/3;		/* midpoint col of sqrt */
-	row0 = (height+1)/2;		/* midpoint row of sqrt */
+	serifwidth = SURDSERIFWIDTH(height); /* leading serif on surd */
+	col1 = SQRTWIDTH(height,(iswidthneg?1:2)) - 1; /*right col of sqrt*/
+	/*col0 = (col1-serifwidth+2)/3;*/ /* midpoint col of sqrt */
+	col0 = (col1-serifwidth+1)/2;	/* midpoint col of sqrt */
+	row0 = max2(1,((height+1)/2)-2); /* midpoint row of sqrt */
 	row1 = height-1;		/* bottom row of sqrt */
-	line_raster(rp,row0,0,row1,col0,thickness); /* descending portion */
+	/*line_raster(rp,row0,0,row1,col0,thickness);*/ /*descending portion*/
+	line_raster(rp,row0+serifwidth,0,row0,serifwidth,thickness);
+	line_raster(rp,row0,serifwidth,row1,col0,thickness); /* descending */
 	line_raster(rp,row1,col0,0,col1,thickness); /* ascending portion */
 	line_raster(rp,0,col1,0,width-1,thickness); /*overbar of thickness 1*/
 	break;
@@ -2018,7 +2520,10 @@
  /* --- vec request --- */
  case VECACCENT:
     height = 2*(height/2) + 1;		/* force height odd */
-    if ( (accsp=arrow_subraster(width,height,pixsz,1,0)) /*build rightarrow*/
+    if ( absval(direction) >= 9 ) {	/* want ==> arrow rather than --> */
+      isBig = 1;			/* signal "Big" arrow */
+      direction -= 10; }		/* reset direction = +1, -1, or 0 */
+    if ((accsp=arrow_subraster(width,height,pixsz,direction,isBig)) /*arrow*/
     !=  NULL )				/* succeeded */
 	{ rp = accsp->image;		/* "extract" raster with bitmap */
 	  free((void *)accsp); }	/* and free subraster "envelope" */
@@ -2810,14 +3315,22 @@
  *				if negative, abs(nbot) used, and same
  *				number of extra cols added at right.
  *		isline (I)	int containing 0 to leave border pixels clear
- *				or >0 to draw a line around border of width
- *				isline.
+ *				or >0 to draw a line around border of
+ *				thickness isline pixels.  See Notes below.
  *		isfree (I)	int containing true to free rp before return
  * --------------------------------------------------------------------------
  * Returns:	( raster * )	ptr to bordered raster,
  *				or NULL for any error.
  * --------------------------------------------------------------------------
- * Notes:     o
+ * Notes:     o	The isline arg also controls which sides border lines
+ *		are drawn for.  To do this, isline is interpreted as
+ *		thickness + 100*sides  so that, e.g., passing isline=601
+ *		is interpreted as sides=6 and thickness=1.  And
+ *		sides is further interpreted as 1=left side, 2=top,
+ *		4=right and 8=bottom.  For example, sides=6 where 6=2+4
+ *		draws the top and right borders only.  15 draws all four
+ *		sides.  And 0 (no sides value embedded in isline)
+ *		draws all four sides, too.
  * ======================================================================= */
 /* --- entry point --- */
 raster	*border_raster ( raster *rp, int ntop, int nbot,
@@ -2832,6 +3345,7 @@
 	height = (rp==NULL?0:rp->height), /* height of raster */
 	istopneg=0, isbotneg=0,		/* true if ntop or nbot negative */
 	leftmargin = 0;		/* adjust width to whole number of bytes */
+int	left=1, top=1, right=1, bot=1;	/* frame sides to draw */
 int	delete_raster();		/* free input rp if isfree is true */
 /* -------------------------------------------------------------------------
 Initialization
@@ -2854,6 +3368,22 @@
     leftmargin = (width%8==0? 0 : 8-(width%8)); /*makes width multiple of 8*/
     width += leftmargin;		/* width now multiple of 8 */
     leftmargin /= 2; }			/* center original raster */
+/* --- check which sides to draw --- */
+if ( isline > 100 ) {			/* sides arg embedded in isline */
+  int iside=0, sides=isline/100;	/* index, sides=1-15 from 101-1599 */
+  isline -= 100*sides;			/* and remove sides from isline */
+  for ( iside=1; iside<=4; iside++ ) {	/* check left, top, right, bot */
+    int shift = sides/2;		/* shift sides left one bit */
+    if ( sides == 2*shift )		/* low-order bit is >>not<< set */
+      switch ( iside ) {		/* don't draw corresponding side */
+        default: break;			/* internal error */
+        case 1: left = 0; break;	/* 1 = left side */
+        case 2: top  = 0; break;	/* 2 = top side */
+        case 3: right= 0; break;	/* 4 = tight side */
+        case 4: bot  = 0; break; }	/* 8 = bottom side */
+    sides = shift;			/* ready for next side */
+    } /* --- end-of-for(iside) --- */
+  } /* --- end-of-if(isline>100) --- */
 /* -------------------------------------------------------------------------
 allocate bordered raster, and embed rp within it
 -------------------------------------------------------------------------- */
@@ -2870,13 +3400,13 @@
   /* --- draw left- and right-borders --- */
   for ( irow=0; irow<height; irow++ )	/* for each row of bp */
     for ( icol=0; icol<nthick; icol++ )	/* and each pixel of thickness */
-      {	setpixel(bp,irow,icol,255);	/* left border */
-	setpixel(bp,irow,width-1-icol,255); } /* right border */
+      {	if(left){setpixel(bp,irow,icol,255);}		/* left border */
+	if(right){setpixel(bp,irow,width-1-icol,255);} } /* right border */
   /* --- draw top- and bottom-borders --- */
   for ( icol=0; icol<width; icol++ )	/* for each col of bp */
     for ( irow=0; irow<nthick; irow++ )	/* and each pixel of thickness */
-      {	setpixel(bp,irow,icol,255);	/* top border */
-	setpixel(bp,height-1-irow,icol,255); } /* bottom border */
+      {	if(top){setpixel(bp,irow,icol,255);}		/* top border */
+	if(bot){setpixel(bp,height-1-irow,icol,255);} }	/* bottom border */
  } /* --- end-of-if(isline) --- */
 /* -------------------------------------------------------------------------
 free rp if no longer needed
@@ -2953,7 +3483,7 @@
 if ( (bp=new_raster(newwidth,height,rp->pixsz)) /*allocate backspaced raster*/
 ==   (raster *)NULL ) goto end_of_job;	/* and quit if failed */
 /* --- fill new raster --- */
-if ( width-nback > 0 )			/* don't fill 1-pixel wide empty bp*/
+if ( 1 || width-nback > 0 )		/* don't fill 1-pixel wide empty bp*/
  for ( icol=0; icol<newwidth; icol++ )	/* find first non-empty col in row */
   for ( irow=0; irow<height; irow++ )	/* for each row inside rp */
     { int value = getpixel(rp,irow,icol); /* original pixel at irow,icol */
@@ -3666,7 +4196,8 @@
 int	symlen = strlen(symbol),	/* length of input symbol */
 	deflen, minlen=9999;		/*length of shortest matching symdef*/
 int	/*alnumsym = (symlen==1 && isalnum(*symbol)),*/ /*alphanumeric sym*/
-	alphasym = (symlen==1 && isalpha(*symbol)); /* or alpha symbol */
+	alphasym = (symlen==1 && isalpha(*symbol)), /* or alpha symbol */
+	slashsym = (*symbol=='\\');	/* or \backslashed symbol */
 int	family = fontinfo[fontnum].family; /* current font family */
 static	char *displaysyms[][2] = {	/*xlate to Big sym for \displaystyle*/
 	/* --- see table on page 536 in TLC2 --- */
@@ -3723,6 +4254,8 @@
   else					/* check against caller's symbol */
     if ( strncmp(symbol,symdefs[idef].symbol,symlen) == 0 ) /* found match */
      if ( (fontnum==0||family==CYR10)	/* mathmode, so check every match */
+     || (1 && symdefs[idef].handler!=NULL) /* or check every directive */
+     || (1 && istextmode && slashsym)	/*text mode and \backslashed symbol*/
      || (0 && istextmode && (!alphasym	/* text mode and not alpha symbol */
 	|| symdefs[idef].handler!=NULL))   /* or text mode and directive */
      || (symdefs[idef].family==family	/* have correct family */
@@ -4158,10 +4691,10 @@
     {
     strcpy(lcsymbol,defsym);		/* local copy of symdefs[] symbol */
     if ( isunesc && *lcsymbol=='\\' )	/* ignored leading \ in symbol */
-     strcpy(lcsymbol,lcsymbol+1);	/* so squeeze it out of lcsymbol too*/
+     {strsqueeze(lcsymbol,1);}		/*so squeeze it out of lcsymbol too*/
     if ( 0 )				/* don't ignore case */
-     for ( symptr=lcsymbol; *symptr!='\000'; symptr++ ) /*for each symbol ch*/
-      if ( isalpha(*symptr) ) *symptr=tolower(*symptr); /*lowercase the char*/
+     for ( symptr=lcsymbol; *symptr!='\000'; symptr++ )/*for each symbol ch*/
+      if ( isalpha(*symptr) ) *symptr=tolower(*symptr);/*lowercase the char*/
     deflen = strlen(lcsymbol);		/* #chars in symbol we're checking */
     if ((symptr=strstr(lcsymbol,unescsymbol)) != NULL) /*found caller's sym*/
      if ( (isoint || strstr(lcsymbol,"oint")==NULL) /* skip unwanted "oint"*/
@@ -5144,7 +5677,8 @@
 	*size = (isdelta? *size+sizevalue : sizevalue); /* so reset size */
       /* --- finally, set flag and shift size parameter out of preamble --- */
       isfontsize = 1;			/*set flag showing font size present*/
-      if ( comma != NULL ) strcpy(pretext,comma+1);/*leading size param gone*/
+      if ( comma != NULL )		/*2/15/12-isn't this superfluous???*/
+        {strsqueezep(pretext,comma+1);}	/* squeeze out leading size param */
      } /* --- end-of-if(comma!=NULL||etc) --- */
     /* --- copy any preamble params following size to caller's subexpr --- */
     if ( comma != NULL || !isfontsize )	/*preamb contains params past size*/
@@ -5209,6 +5743,7 @@
 	*tokptr=NULL,			/*ptr to token found in expression*/
 	*texsubexpr(), argval[8192];	/*parse for macro args after token*/
 char	*strchange();			/* change leading chars of string */
+int	strreplace();			/* replace nnn with actual num, etc*/
 char	*strwstr();			/*use strwstr() instead of strstr()*/
 char	*findbraces();			/*find left { and right } for \atop*/
 int	idelim=0,			/* left- or right-index */
@@ -5266,15 +5801,31 @@
  * -------------------------------------------------------- */
 char	*htmlsym=NULL;			/* symbols[isymbol].html */
 static	struct { char *html; char *args; char *latex; } symbols[] =
- { /* ---------------------------------------
+ { /* --------------------------------------------
      user-supplied newcommands
-   --------------------------------------- */
- #ifdef NEWCOMMANDS			/* -DNEWCOMMANDS=\"filename.h\" */
-   #include NEWCOMMANDS
- #endif
-   /* ---------------------------------------
-     Cyrillic termchar  mimeTeX equivalent...
-   --------------------------------------- */
+   -------------------------------------------- */
+   #ifdef NEWCOMMANDS			/* -DNEWCOMMANDS=\"filename.h\" */
+     #include NEWCOMMANDS
+   #endif
+   /* --------------------------------------------
+     Specials        termchar  value...
+   -------------------------------------------- */
+   { "\\version",	NULL, "{\\small\\red\\text \\fbox{\\begin{gather}"
+	"mime\\TeX version \\versionnumber \\\\"
+	"last revised \\revisiondate \\\\ \\copyrighttext \\\\"
+	"see \\homepagetext for details \\end{gather}}}" },
+   { "\\copyright",	NULL,
+	"{\\small\\red\\text \\fbox{\\begin{gather}"
+	"mimeTeX \\copyrighttext \\\\"
+	"see \\homepagetext for details \\end{gather}}}" },
+   { "\\versionnumber",	NULL, "{\\text " VERSION "}" },
+   { "\\revisiondate",	NULL, "{\\text " REVISIONDATE "}" },
+   { "\\copyrighttext",	NULL, "{\\text " COPYRIGHTTEXT ".}" },
+   { "\\homepagetext",	NULL,
+	"{\\text http://www.forkosh.com/mimetex.html}" },
+   /* --------------------------------------------
+     Cyrillic  termchar  mimeTeX equivalent...
+   -------------------------------------------- */
    { "\\\'G",	"embed\\","{\\acute{G}}" },
    { "\\\'g",	"embed\\","{\\acute{g}}" },
    { "\\\'K",	"embed\\","{\\acute{K}}" },
@@ -5285,9 +5836,9 @@
    /*{ "\\\"e",	"embed\\","{\\ddot{e}}" },*/
    { "\\\"I",	"embed\\","{\\ddot{\\=I}}" },
    { "\\\"\\i",	"embed\\","{\\ddot{\\=\\i}}" },
-   /* ------------------------------------------
-   LaTeX Macro  #args,default   template...
-   ------------------------------------------ */
+   /* --------------------------------------------
+     LaTeX Macro #args,default  template...
+   -------------------------------------------- */
    { "\\lvec",	"2n",	"{#2_1,\\cdots,#2_{#1}}" },
    { "\\grave", "1",	"{\\stackrel{\\Huge\\gravesym}{#1}}" }, /* \grave */
    { "\\acute", "1",	"{\\stackrel{\\Huge\\acutesym}{#1}}" }, /* \acute */
@@ -5296,14 +5847,19 @@
    { "\\buildrel","3",	"{\\stackrel{#1}{#3}}" }, /* ignore #2 = \over */
    { "\\overset", NULL,	"\\stackrel" },		/* just an alias */
    { "\\underset", "2",	"\\relstack{#2}{#1}" },	/* reverse args */
-   /* ---------------------------------------
-    html char termchar  LaTeX equivalent...
-   --------------------------------------- */
+   { "\\dfrac", "2",	"{\\frac{#1}{#2}}" },
+   { "\\binom", "2",	"{\\begin{pmatrix}{#1}\\\\{#2}\\end{pmatrix}}" },
+   { "\\aangle","26",	"{\\boxaccent{#1}{#2}}" },
+   { "\\actuarial","2 ","{#1\\boxaccent{6}{#2}}" }, /*comprehensive sym list*/
+   { "\\boxaccent","2", "{\\fbox[,#1]{#2}}" },
+   /* --------------------------------------------
+     html char termchar  LaTeX equivalent...
+   -------------------------------------------- */
    { "&quot",	";",	"\"" },		/* &quot; is first, &#034; */
    { "&amp",	";",	"&" },
    { "&lt",	";",	"<" },
    { "&gt",	";",	">" },
-   { "&#092",	";",	"\\" },		/* backslash */
+   /*{ "&#092",	";",	"\\" },*/	/* backslash */
    { "&backslash",";",	"\\" },
    { "&nbsp",	";",	"~" },
    { "&iexcl",	";",	"{\\raisebox{-2}{\\rotatebox{180}{!}}}" },
@@ -5322,21 +5878,27 @@
    { "&Auml",	";",	"{\\rm~\\ddot~A}" },
    { "&Aring",	";",	"{\\rm~A\\limits^{-1$o}}" },
    { "&atilde",	";",	"{\\rm~\\tilde~a}" },
-   { "&yuml",	";",	"{\\rm~\\ddot~y}" },  /* &yuml; is last, &#255; */
-   /* ---------------------------------------
-    html tag  termchar  LaTeX equivalent...
-   --------------------------------------- */
-   { "<br>",	"embed\\i","\\\\" },
-   { "<br/>",	"embed\\i","\\\\" },
-   /* ---------------------------------------
-    garbage  termchar  LaTeX equivalent...
-   --------------------------------------- */
-   { "< TEX >",	"embed\\i","\000" },
-   { "< / TEX >","embed\\i","\000" },
-   { "<br / >",	"embed\\i","\000" },
-   /* ---------------------------------------
+   { "&yuml",	";",	"{\\rm~\\ddot~y}" }, /* &yuml; is last, &#255; */
+   { "&#",	";",	"{[\\&\\#nnn?]}" },  /* all other explicit &#nnn's */
+   /* --------------------------------------------
+     html tag     termchar    LaTeX equivalent...
+   -------------------------------------------- */
+   { "< br >",    "embed\\i", "\\\\" },
+   { "< br / >",  "embed\\i", "\\\\" },
+   { "< dd >",    "embed\\i", " \000" },
+   { "< / dd >",  "embed\\i", " \000" },
+   { "< dl >",    "embed\\i", " \000" },
+   { "< / dl >",  "embed\\i", " \000" },
+   { "< p >",     "embed\\i", " \000" },
+   { "< / p >",   "embed\\i", " \000" },
+   /* --------------------------------------------
+     garbage      termchar  LaTeX equivalent...
+   -------------------------------------------- */
+   { "< tex >",   "embed\\i", " \000" },
+   { "< / tex >", "embed\\i", " \000" },
+   /* --------------------------------------------
      LaTeX   termchar   mimeTeX equivalent...
-   --------------------------------------- */
+   -------------------------------------------- */
    { "\\AA",	NULL,	"{\\rm~A\\limits^{-1$o}}" },
    { "\\aa",	NULL,	"{\\rm~a\\limits^{-1$o}}" },
    { "\\bmod",	NULL,	"{\\hspace2{\\rm~mod}\\hspace2}" },
@@ -5344,19 +5906,23 @@
    { "\\dots",	NULL,	"{\\cdots}" },
    { "\\cdots",	NULL,	"{\\raisebox3{\\ldots}}" },
    { "\\ldots",	NULL,	"{\\fs4.\\hspace1.\\hspace1.}" },
-   { "\\ddots",	NULL,	"{\\fs4\\raisebox8.\\hspace1\\raisebox4.\\hspace1.}"},
+   { "\\ddots",	NULL,	"{\\fs4\\raisebox8.\\hspace1\\raisebox4."
+			"\\hspace1\\raisebox0.}"},
    { "\\notin",	NULL,	"{\\not\\in}" },
    { "\\neq",	NULL,	"{\\not=}" },
    { "\\ne",	NULL,	"{\\not=}" },
+   { "\\mapsto", NULL,	"{\\rule[fs/2]{1}{5+fs}\\hspace{-99}\\to}" },
    { "\\hbar",	NULL,	"{\\compose~h{{\\fs{-1}-\\atop\\vspace3}}}" },
    { "\\angle",	NULL, "{\\compose{\\hspace{3}\\lt}{\\circle(10,15;-80,80)}}"},
    { "\\textcelsius", NULL, "{\\textdegree C}"},
    { "\\textdegree", NULL, "{\\Large^{^{\\tiny\\mathbf o}}}"},
    { "\\cr",	NULL,	"\\\\" },
+   /*{ "\\colon",	NULL,	"{:}" },*/
    { "\\iiint",	NULL,	"{\\int\\int\\int}\\limits" },
    { "\\iint",	NULL,	"{\\int\\int}\\limits" },
    { "\\Bigiint", NULL,	"{\\Bigint\\Bigint}\\limits" },
    { "\\bigsqcap",NULL,	"{\\fs{+4}\\sqcap}" },
+   { "\\_",	"embed","{\\underline{\\ }}" }, /* displayed underscore */
    { "!`",	NULL,	"{\\raisebox{-2}{\\rotatebox{180}{!}}}" },
    { "?`",	NULL,	"{\\raisebox{-2}{\\rotatebox{180}{?}}}" },
    { "^\'",	"embed","\'" }, /* avoid ^^ when re-xlating \' below */
@@ -5374,9 +5940,10 @@
    { "\\cancel",NULL,	"\\Not" },
    { "\\hhline",NULL,	"\\Hline" },
    { "\\Hline", NULL,	"\\hline\\,\\\\\\hline" },
-   /* ---------------------------------------------------------
+   /* -----------------------------------------------------------------------
+     As per emails with Zbigniew Fiedorowicz <fiedorow@math.ohio-state.edu>
      "Algebra Syntax"  termchar   mimeTeX/LaTeX equivalent...
-   ------------------------------------------------------------ */
+   ----------------------------------------------------------------------- */
    { "sqrt",	"1",	"{\\sqrt{#1}}" },
    { "sin",	"1",	"{\\sin{#1}}" },
    { "cos",	"1",	"{\\cos{#1}}" },
@@ -5384,14 +5951,66 @@
    { "acos",	"1",	"{\\cos^{-1}{#1}}" },
    { "exp",	"1",	"{{\\rm~e}^{#1}}" },
    { "det",	"1",	"{\\left|{#1}\\right|}" },
-   /* ---------------------------------------
-   LaTeX Constant    termchar   value...
-   --------------------------------------- */
-   { "\\thinspace",	NULL,	"2" },
-   { "\\thinmathspace",	NULL,	"2" },
+   /* --------------------------------------------
+     LaTeX Constant    termchar   value...
+   -------------------------------------------- */
+   { "\\thinspace",	NULL,	"\\," },
+   { "\\thinmathspace",	NULL,	"\\," },
    { "\\textwidth",	NULL,	"400" },
+   /* --- end-of-table indicator --- */
    { NULL,	NULL,	NULL }
  } ; /* --- end-of-symbols[] --- */
+/* ---
+ * html &#nn chars converted to latex equivalents
+ * ---------------------------------------------- */
+int	htmlnum=0;			/* numbers[inum].html */
+static	struct { int html; char *latex; } numbers[] =
+ { /* ---------------------------------------
+    html num  LaTeX equivalent...
+   --------------------------------------- */
+   { 9,		" " },			/* horizontal tab */
+   { 10,	" " },			/* line feed */
+   { 13,	" " },			/* carriage return */
+   { 32,	" " },			/* space */
+   { 33,	"!" },			/* exclamation point */
+   { 34,	"\"" },			/* &quot; */
+   { 35,	"#" },			/* hash mark */
+   { 36,	"$" },			/* dollar */
+   { 37,	"%" },			/* percent */
+   { 38,	"&" },			/* &amp; */
+   { 39,	"\'" },			/* apostrophe (single quote) */
+   { 40,	")" },			/* left parenthesis */
+   { 41,	")" },			/* right parenthesis */
+   { 42,	"*" },			/* asterisk */
+   { 43,	"+" },			/* plus */
+   { 44,	"," },			/* comma */
+   { 45,	"-" },			/* hyphen (minus) */
+   { 46,	"." },			/* period */
+   { 47,	"/" },			/* slash */
+   { 58,	":" },			/* colon */
+   { 59,	";" },			/* semicolon */
+   { 60,	"<" },			/* &lt; */
+   { 61,	"=" },			/* = */
+   { 62,	">" },			/* &gt; */
+   { 63,	"\?" },			/* question mark */
+   { 64,	"@" },			/* commercial at sign */
+   { 91,	"[" },			/* left square bracket */
+   { 92,	"\\" },			/* backslash */
+   { 93,	"]" },			/* right square bracket */
+   { 94,	"^" },			/* caret */
+   { 95,	"_" },			/* underscore */
+   { 96,	"`" },			/* grave accent */
+   { 123,	"{" },			/* left curly brace */
+   { 124,	"|" },			/* vertical bar */
+   { 125,	"}" },			/* right curly brace */
+   { 126,	"~" },			/* tilde */
+   { 160,	"~" },			/* &nbsp; (use tilde for latex) */
+   { 166,	"|" },			/* &brvbar; (broken vertical bar) */
+   { 173,	"-" },			/* &shy; (soft hyphen) */
+   { 177,	"{\\pm}" },		/* &plusmn; (plus or minus) */
+   { 215,	"{\\times}" },		/* &times; (plus or minus) */
+   { -999,	NULL }
+ } ; /* --- end-of-numbers[] --- */
 /* -------------------------------------------------------------------------
 first remove comments
 -------------------------------------------------------------------------- */
@@ -5409,7 +6028,7 @@
 	{ *leftptr = '\000';		/*so terminate expr at leftcomment*/
 	  break; }			/* and stop looking for comments */
        *leftptr = '~';			/* replace entire comment by ~ */
-       strcpy(leftptr+1,tokptr);	/* and squeeze out comment */
+       strsqueezep(leftptr+1,tokptr);	/* squeeze out comment */
        goto next_comment; }		/* stop looking for rightcomment */
   /* --- no rightcomment after opening leftcomment --- */
   *leftptr = '\000';			/* so terminate expression */
@@ -5426,6 +6045,7 @@
   int	htmllen = strlen(htmlsym);	/* length of escape, _without_ ; */
   int	isalgebra = isalpha((int)(*htmlsym)); /* leading char alphabetic */
   int	isembedded = 0,			/* true to xlate even if embedded */
+	istag=0, isamp=0,		/* true for <tag>, &char; symbols */
 	isstrwstr = 0,			/* true to use strwstr() */
 	wstrlen = 0;			/* length of strwstr() match */
   char	*aleft="{([<|", *aright="})]>|"; /*left,right delims for alg syntax*/
@@ -5434,9 +6054,14 @@
   int	embedlen = strlen(embedkeywd);	/* #chars in embedkeywd */
   char	*args = symbols[isymbol].args,	/* number {}-args, optional []-arg */
 	*htmlterm = args,		/*if *args nonumeric, then html term*/
-	*latexsym = symbols[isymbol].latex; /*latex replacement for htmlsym*/
+	*latexsym = symbols[isymbol].latex, /*latex replacement for htmlsym*/
+	errorsym[256];			/*or latexsym may point to error msg*/
   char	abuff[8192];  int iarg,nargs=0;	/* macro expansion params */
   char	wstrwhite[99];			/* whitespace chars for strwstr() */
+  skipwhite(htmlsym);			/*skip any bogus leading whitespace*/
+  htmllen = strlen(htmlsym);		/* reset length of html token */
+  istag = (isthischar(*htmlsym,"<")?1:0); /* html <tag> starts with < */
+  isamp = (isthischar(*htmlsym,"&")?1:0); /* html &char; starts with & */
   if ( args != NULL )			/*we have args (or htmlterm) param*/
    if ( *args != '\000' ) {		/* and it's not an empty string */
     if ( strchr("0123456789",*args) != NULL ) /* is 1st char #args=0-9 ? */
@@ -5444,44 +6069,84 @@
        *abuff = *args;  abuff[1] = '\000'; /* #args char in ascii buffer */
        nargs = atoi(abuff); }		/* interpret #args to numeric */
     else if ( strncmp(args,embedkeywd,embedlen) == 0 )/*xlate embedded token*/
-     { htmlterm = NULL;			/* if so, then we have no htmlterm */
+     { int arglen = strlen(args);	/* length of "embed..." string */
+       htmlterm = NULL;			/* if so, then we have no htmlterm */
        isembedded = 1 ;			/* turn on embedded flag */
-       embedterm = args[embedlen];	/* char immediately after embed */
-       if (strlen(args) > embedlen+1) {	/* have embed,white for strwstr() */
-	isstrwstr = 1;			/* turn on strwtsr flag */
-	strcpy(wstrwhite,args+6); } }	/* and set its whitespace arg */
+       if ( arglen > embedlen )		/* have embed "allow escape" flag */
+         embedterm = args[embedlen];	/* char immediately after "embed" */
+       if (arglen > embedlen+1) {	/* have embed,flag,white for strwstr*/
+	 isstrwstr = 1;			/* turn on strwtsr flag */
+	 strcpy(wstrwhite,args+embedlen+1); } } /*and set its whitespace arg*/
     } /* --- end-of-if(*args!='\000') --- */
   expptr = expression;			/* re-start search at beginning */
   while ( ( tokptr=(!isstrwstr?strstr(expptr,htmlsym): /* just use strtsr */
   strwstr(expptr,htmlsym,wstrwhite,&wstrlen)) ) /* or use our strwstr */
-  != NULL )				/* found another sym */
-    { int  toklen = (!isstrwstr?htmllen:wstrlen); /* length of matched sym */
+  != NULL ) {				/* found another sym */
+      int  toklen = (!isstrwstr?htmllen:wstrlen); /* length of matched sym */
       char termchar = *(tokptr+toklen),	/* char terminating html sequence */
-           prevchar = (tokptr==expptr?' ':*(tokptr-1)); /*char preceding html*/
+           prevchar = (tokptr==expptr?' ':*(tokptr-1));/*char preceding html*/
+      int  isescaped = (isthischar(prevchar,ESCAPE)?1:0); /* token escaped?*/
       int  escapelen = toklen;		/* total length of escape sequence */
+      int  isflush = 0;			/* true to flush (don't xlate) */
+      /* --- check odd/even backslashes preceding tokens --- */
+      if ( isescaped ) {		/* have one preceding backslash */
+	char *p = tokptr-1;		/* ptr to that preceding backslash */
+	while ( p != expptr ) {		/* and we may have more preceding */
+	  p--; if(!isthischar(*p,ESCAPE))break; /* but we don't, so quit */
+	  isescaped = 1-isescaped; } }	/* or flip isescaped flag if we do */
+      /* --- init with "trivial" abuff,escapelen from symbols[] table --- */
       *abuff = '\000';			/* default to empty string */
       if ( latexsym != NULL )		/* table has .latex xlation */
        if ( *latexsym != '\000' )	/* and it's not an empty string */
 	strcpy(abuff,latexsym);		/* so get local copy */
-      if ( htmlterm != NULL )		/* sequence may have terminator */
+      if ( !isembedded )		/*embedded sequences not terminated*/
+       if ( htmlterm != NULL )		/* sequence may have terminator */
 	escapelen += (isthischar(termchar,htmlterm)?1:0); /*add terminator*/
-      if ( !isembedded )		/* don't xlate embedded sequence */
-       if ( isalpha((int)termchar) )	/*we just have prefix of longer sym*/
-	{ expptr = tokptr+toklen;	/* just resume search after prefix */
+      /* --- don't xlate if we just found prefix of longer symbol, etc --- */
+      if ( !isembedded ) {		/* not embedded */
+	if ( isescaped )		/* escaped */
+	  isflush = 1;			/* set flag to flush escaped token */
+	if ( !istag && isalpha((int)termchar) ) /* followed by alpha */
+	  isflush = 1;			/* so just a prefix of longer symbol*/
+	if ( isalpha((int)(*htmlsym)) )	/* symbol starts with alpha */
+          if ( (!isspace(prevchar)&&isalpha(prevchar)) ) /* just a suffix*/
+	    isflush = 1; }		/* set flag to flush token */
+      if ( isembedded )			/* for embedded token */
+       if ( isescaped )			/* and embedded \token escaped */
+	if ( !isthischar(embedterm,ESCAPE) ) /* don't xlate escaped \token */
+	  isflush = 1;			/* set flag to flush token */
+      if ( isflush )			/* don't xlate this token */
+	{ expptr = tokptr+1;/*toklen;*/	/* just resume search after token */
 	  continue; }			/* but don't replace it */
-      if ( isembedded )			/* for embedded sequence */
-	if ( !isthischar(embedterm,ESCAPE)  /* don't xlate escaped \token */
-	&&    isthischar(prevchar,ESCAPE) ) /* and we have escaped \token */
-	  { expptr = tokptr+toklen;	/*just resume search after literal*/
-	    continue; }			/* but don't replace it */
-      if ( !isthischar(*htmlsym,ESCAPE)	/* our symbol isn't escaped */
-      &&   isalpha(*htmlsym)		/* and our symbol starts with alpha*/
-      &&   !isthischar(*htmlsym,"&") )	/* and not an &html; special char */
-       if ( tokptr != expression )	/* then if we're past beginning */
-	if ( isthischar(*(tokptr-1),ESCAPE) /*and if inline symbol escaped*/
-	||   (isalpha(*(tokptr-1))) )	/* or if suffix of longer string */
-	  { expptr = tokptr+escapelen;	/*just resume search after literal*/
-	    continue; }			/* but don't replace it */
+      /* --- check for &# prefix signalling &#nnn; --- */
+      if ( strcmp(htmlsym,"&#") == 0 ) { /* replacing special &#nnn; chars */
+       /* --- accumulate chars comprising number following &# --- */
+       char anum[32];			/* chars comprising number after &# */
+       int  inum = 0;			/* no chars accumulated yet */
+       while ( termchar != '\000' ) {	/* don't go past end-of-string */
+         if ( !isdigit((int)termchar) ) break; /* and don't go past digits */
+         if ( inum > 10 ) break;	/* some syntax error in expression */
+         anum[inum] = termchar;		/* accumulate this digit */
+         inum++;  toklen++;		/* bump field length, token length */
+         termchar = *(tokptr+toklen); }	/* char terminating html sequence */
+       anum[inum] = '\000';		/* null-terminate anum */
+       escapelen = toklen;		/* length of &#nnn; sequence */
+       if ( htmlterm != NULL )		/* sequence may have terminator */
+         escapelen += (isthischar(termchar,htmlterm)?1:0); /*add terminator*/
+       /* --- look up &#nnn in number[] table --- */
+       htmlnum = atoi(anum);		/* convert anum[] to an integer */
+       strninit(errorsym,latexsym,128);	/* init error message */
+       latexsym = errorsym;		/* init latexsym as error message */
+       strreplace(latexsym,"nnn",anum,1); /*place actual &#num in message*/
+       for ( inum=0; numbers[inum].html>=0; inum++ ) /* run thru numbers[] */
+         if ( htmlnum ==  numbers[inum].html ) { /* till we find a match */
+           latexsym = numbers[inum].latex; /* latex replacement */
+           break; }			/* no need to look any further */
+       if ( latexsym != NULL )		/* table has .latex xlation */
+        if ( *latexsym != '\000' )	/* and it's not an empty string */
+	 strcpy(abuff,latexsym);	/* so get local copy */
+       } /* --- end-of-if(strcmp(htmlsym,"&#")==0) --- */
+      /* --- substitute macro arguments --- */
       if ( nargs > 0 )			/*substitute #1,#2,... in latexsym*/
        {
        char *arg1ptr = tokptr+escapelen;/* nargs begin after macro literal */
@@ -5498,22 +6163,25 @@
 	&&   !isalgebra )		/* but not in "algebra syntax" */
 	 { strcpy(argval,optarg);	/* init with default value */
 	   if ( *expptr == '[' )	/* but user gave us [argval] */
-	    expptr = texsubexpr(expptr,argval,0,"[","]",0,0); } /*so get it*/
+	     expptr = texsubexpr(expptr,argval,0,"[","]",0,0); } /*so get it*/
 	else				/* not optional, so get {argval} */
 	 if ( *expptr != '\000' ) {	/* check that some argval provided */
-	  if ( !isalgebra )		/* only { } delims for latex macro */
-	    expptr = texsubexpr(expptr,argval,0,"{","}",0,0); /*get {argval}*/
-	  else				/*any delim for algebra syntax macro*/
-	   { expptr = texsubexpr(expptr,argval,0,aleft,aright,0,1);
+	   if ( !isalgebra )		/* only { } delims for latex macro */
+	     expptr = texsubexpr(expptr,argval,0,"{","}",0,0);/*get {argval}*/
+	   else {			/*any delim for algebra syntax macro*/
+	     expptr = texsubexpr(expptr,argval,0,aleft,aright,0,1);
 	     if ( isthischar(*argval,aleft) ) /* have delim-enclosed arg */
-	      if ( *argval != '{' )	/* and it's not { }-enclosed */
-	       { strchange(0,argval,"\\left"); /* insert opening \left, */
-		 strchange(0,argval+strlen(argval)-1,"\\right"); } }/*\right*/
-	   } /* --- end-of-if(*expptr!='\000') --- */
+	       if ( *argval != '{' ) {	/* and it's not { }-enclosed */
+	         strchange(0,argval,"\\left"); /* insert opening \left, */
+	         strchange(0,argval+strlen(argval)-1,"\\right"); } }/*\right*/
+	  } /* --- end-of-if(*expptr!='\000') --- */
+	/* --- (recursively) call mimeprep() to prep the argument --- */
+	if ( !isempty(argval) )		/* have an argument */
+	  mimeprep(argval);		/* so (recursively) prep it */
 	/* --- replace #`iarg` in macro with argval --- */
 	sprintf(argsignal,"#%d",iarg);	/* #1...#9 signals argument */
 	while ( (argsigptr=strstr(argval,argsignal)) != NULL ) /* #1...#9 */
-	 strcpy(argsigptr,argsigptr+strlen(argsignal)); /*can't be in argval*/
+	 {strsqueeze(argsigptr,strlen(argsignal));} /* can't be in argval */
 	while ( (argsigptr=strstr(abuff,argsignal)) != NULL ) /* #1...#9 */
 	 strchange(strlen(argsignal),argsigptr,argval); /*replaced by argval*/
 	} /* --- end-of-for(iarg) --- */
@@ -5521,7 +6189,7 @@
        } /* --- end-of-if(nargs>0) --- */
       strchange(escapelen,tokptr,abuff); /*replace macro or html symbol*/
       expptr = tokptr + strlen(abuff); /*resume search after macro / html*/
-    } /* --- end-of-while(tokptr!=NULL) --- */
+      } /* --- end-of-while(tokptr!=NULL) --- */
   } /* --- end-of-for(isymbol) --- */
 /* -------------------------------------------------------------------------
 convert \left( to \(  and  \right) to \),  etc.
@@ -5539,7 +6207,7 @@
   while ( (tokptr=strstr(expptr,lrstr)) != NULL ) /* found \left or \right */
     {
     if ( isthischar(*(tokptr+lrlen),braces) ) /* followed by a 1-char brace*/
-      {	strcpy(tokptr+1,tokptr+lrlen);	/* so squeeze out "left" or "right"*/
+      {	strsqueeze((tokptr+1),(lrlen-1));/*so squeeze out "left" or "right"*/
 	expptr = tokptr+2; }		/* and resume search past brace */
     else				/* may be a "long" brace like \| */
       {
@@ -5547,7 +6215,7 @@
       for(isymbol=0; (lrsym=lrfrom[isymbol]) != NULL; isymbol++)
 	{ int symlen = strlen(lrsym);	/* #chars in delim, e.g., 2 for \| */
 	  if ( memcmp(tokptr+lrlen,lrsym,symlen) == 0 ) /* found long delim*/
-	    { strcpy(tokptr+1,tokptr+lrlen+symlen-1); /* squeeze out delim */
+	    { strsqueeze((tokptr+1),(lrlen+symlen-2)); /*squeeze out delim*/
 	      *(tokptr+1) = *(lrto[isymbol]); /* last char now 1-char delim*/
 	      expptr = tokptr+2 - lrlen; /* resume search past 1-char delim*/
 	      break; }			/* no need to check more lrsym's */
@@ -5595,7 +6263,7 @@
 	arg[rightlen] = '}';		/* add closing } */
 	arg[rightlen+1] = '\000';	/* and null terminate it */
 	if ( isthischar(*arg,WHITEMATH) ) /* 1st char was mandatory space */
-	  strcpy(arg,arg+1);		/* so squeeze it out */
+	  {strsqueeze(arg,1);}		/* so squeeze it out */
 	strcat(command,arg);		/* concatanate right-arg} */
 	if (close!=NULL) strcat(command,close); /* add close delim if needed*/
 	strchange(totlen-2,leftbrace+1,command); /* {\atop} --> {\atop{}{}} */
@@ -5644,7 +6312,7 @@
 shift from left or right to accommodate replacement of its nfirst chars by to
 -------------------------------------------------------------------------- */
 if ( tolen < nfirst )			/* shift left is easy */
-  strcpy(from,from+nshift);		/* because memory doesn't overlap */
+  {strsqueeze(from,nshift);}		/* memmove avoids overlap memory */
 if ( tolen > nfirst )			/* need more room at start of from */
   { char *pfrom = from+strlen(from);	/* ptr to null terminating from */
     for ( ; pfrom>=from; pfrom-- )	/* shift all chars including null */
@@ -5784,9 +6452,9 @@
  if ( *white != '\000' ) {		/*and it's not just an empty string*/
    strcpy(whitespace,white);		/* so use caller's white spaces */
    while ( (pwhite=strchr(whitespace,'i')) != NULL ) /* have an embedded i */
-     strcpy(pwhite,pwhite+1);		/* so squeeze it out */
+     {strsqueeze(pwhite,1);}		/* so squeeze it out */
    while ( (pwhite=strchr(whitespace,'I')) != NULL ) /* have an embedded I */
-     strcpy(pwhite,pwhite+1);		/* so squeeze it out */
+     {strsqueeze(pwhite,1);}		/* so squeeze it out */
    if ( *whitespace == '\000' )		/* caller's white just had i,I */
      strcpy(whitespace,WHITEMATH); }	/* so revert back to default */
 /* -------------------------------------------------------------------------
@@ -5855,6 +6523,63 @@
 
 
 /* ==========================================================================
+ * Function:	strdetex ( s, mode )
+ * Purpose:	Removes/replaces any LaTeX math chars in s
+ *		so that s can be displayed "verbatim",
+ *		e.g., for error messages.
+ * --------------------------------------------------------------------------
+ * Arguments:	s (I)		char * to null-terminated string
+ *				whose math chars are to be removed/replaced
+ *		mode (I)	int containing 0 to _not_ use macros (i.e.,
+ *				mimeprep won't be called afterwards),
+ *				or containing 1 to use macros that will
+ *				be expanded by a subsequent call to mimeprep.
+ * --------------------------------------------------------------------------
+ * Returns:	( char * )	ptr to "cleaned" copy of s
+ *				or "" (empty string) for any error.
+ * --------------------------------------------------------------------------
+ * Notes:     o	The returned pointer addresses a static buffer,
+ *		so don't call strdetex() again until you're finished
+ *		with output from the preceding call.
+ * ======================================================================= */
+/* --- entry point --- */
+char	*strdetex ( char *s, int mode )
+{
+/* -------------------------------------------------------------------------
+Allocations and Declarations
+-------------------------------------------------------------------------- */
+static	char sbuff[4096];		/* copy of s with no math chars */
+int	strreplace();			/* replace _ with -, etc */
+/* -------------------------------------------------------------------------
+Make a clean copy of s
+-------------------------------------------------------------------------- */
+/* --- check input --- */
+*sbuff = '\000';			/* initialize in case of error */
+if ( isempty(s) ) goto end_of_job;	/* no input */
+/* --- start with copy of s --- */
+strninit(sbuff,s,2048);			/* leave room for replacements */
+/* --- make some replacements -- we *must* replace \ { } first --- */
+strreplace(sbuff,"\\","\\backslash~\\!\\!",0);	/*change all \'s to text*/
+strreplace(sbuff,"{", "\\lbrace~\\!\\!",0);	/*change all {'s to \lbrace*/
+strreplace(sbuff,"}", "\\rbrace~\\!\\!",0);	/*change all }'s to \rbrace*/
+/* --- now our further replacements may contain \directives{args} --- */
+if( mode >= 1 ) strreplace(sbuff,"_","\\_",0);	/* change all _'s to \_ */
+else strreplace(sbuff,"_","\\underline{\\qquad}",0); /*change them to text*/
+if(0)strreplace(sbuff,"<","\\textlangle ",0);	/* change all <'s to text */
+if(0)strreplace(sbuff,">","\\textrangle ",0);	/* change all >'s to text */
+if(0)strreplace(sbuff,"$","\\textdollar ",0);	/* change all $'s to text */
+strreplace(sbuff,"$","\\$",0);			/* change all $'s to \$ */
+strreplace(sbuff,"&","\\&",0);			/* change all &'s to \& */
+strreplace(sbuff,"%","\\%",0);			/* change all %'s to \% */
+strreplace(sbuff,"#","\\#",0);			/* change all #'s to \# */
+/*strreplace(sbuff,"~","\\~",0);*/		/* change all ~'s to \~ */
+strreplace(sbuff,"^","{\\fs{+2}\\^}",0);	/* change all ^'s to \^ */
+end_of_job:
+  return ( sbuff );			/* back with clean copy of s */
+} /* --- end-of-function strdetex() --- */
+
+
+/* ==========================================================================
  * Function:	strtexchr ( char *string, char *texchr )
  * Purpose:	Find first texchr in string, but texchr must be followed
  *		by non-alpha
@@ -5960,58 +6685,524 @@
       brace = ptr;			/* { before expressn, } after cmmnd*/
   return ( brace );			/*back to caller with delim or NULL*/
 } /* --- end-of-function findbraces() --- */
-#endif /* PART2 */
 
-/* ---
- * PART3
- * ------ */
-#if !defined(PARTS) || defined(PART3)
+
 /* ==========================================================================
- * Function:	rasterize ( expression, size )
- * Purpose:	returns subraster corresponding to (a valid LaTeX) expression
- *		at font size
+ * Function:	strpspn ( char *s, char *reject, char *segment )
+ * Purpose:	finds the initial segment of s containing no chars
+ *		in reject that are outside (), [] and {} parens, e.g.,
+ *		   strpspn("abc(---)def+++","+-",segment) returns
+ *		   segment="abc(---)def" and a pointer to the first '+' in s
+ *		because the -'s are enclosed in () parens.
+ * --------------------------------------------------------------------------
+ * Arguments:	s (I)		(char *)pointer to null-terminated string
+ *				whose initial segment is desired
+ *		reject (I)	(char *)pointer to null-terminated string
+ *				containing the "reject chars"
+ *		segment (O)	(char *)pointer returning null-terminated
+ *				string comprising the initial segment of s
+ *				that contains non-rejected chars outside
+ *				(),[],{} parens, i.e., all the chars up to
+ *				but not including the returned pointer.
+ *				(That's the entire string if no non-rejected
+ *				chars are found.)
+ * --------------------------------------------------------------------------
+ * Returns:	( char * )	pointer to first reject-char found in s
+ *				outside parens, or a pointer to the
+ *				terminating '\000' of s if there are
+ *				no reject chars in s outside all () parens.
+ * --------------------------------------------------------------------------
+ * Notes:     o	the return value is _not_ like strcspn()'s
+ *	      o	improperly nested (...[...)...] are not detected,
+ *		but are considered "balanced" after the ]
+ *	      o	if reject not found, segment returns the entire string s
+ *	      o	leading/trailing whitespace is trimmed from returned segment
+ * ======================================================================= */
+/* --- entry point --- */
+char	*strpspn ( char *s, char *reject, char *segment )
+{
+/* -------------------------------------------------------------------------
+Allocations and Declarations
+-------------------------------------------------------------------------- */
+char	*ps = s;			/* current pointer into s */
+int	depth = 0;			/* () paren nesting level */
+int	seglen=0, maxseg=2047;		/* segment length, max allowed */
+/* -------------------------------------------------------------------------
+initialization
+-------------------------------------------------------------------------- */
+/* --- check arguments --- */
+if ( isempty(s) )			/* no input string supplied */
+  goto end_of_job;			/* no reject chars supplied */
+/* -------------------------------------------------------------------------
+find first char from s outside () parens (and outside ""'s) and in reject
+-------------------------------------------------------------------------- */
+while ( *ps != '\000' ) {		/* search till end of input string */
+  if ( isthischar(*ps,"([{") ) depth++;	/* push another paren */
+  if ( isthischar(*ps,")]}") ) depth--;	/* or pop another paren */
+  if ( depth < 1 ) {			/* we're outside all parens */
+    if ( isempty(reject) ) break;	/* no reject so break immediately */
+    if ( isthischar(*ps,reject) ) break; } /* only break on a reject char */
+  if ( segment != NULL )		/* caller gave us segment */
+    if ( seglen < maxseg )		/* don't overflow segment buffer */
+      memcpy(segment+seglen,ps,1);	/* so copy non-reject char */
+  seglen += 1;  ps += 1;		/* bump to next char */
+  } /* --- end-of-while(*ps!=0) --- */
+end_of_job:
+  if ( segment != NULL ) {		/* caller gave us segment */
+    if ( isempty(reject) ) {		/* no reject char */
+      segment[min2(seglen,maxseg)] = *ps;  seglen++; } /*closing )]} to seg*/
+    segment[min2(seglen,maxseg)] = '\000'; /* null-terminate the segment */
+    trimwhite(segment); }		/* trim leading/trailing whitespace*/
+  return ( ps );			/* back to caller */
+} /* --- end-of-function strpspn() --- */
+
+
+/* ==========================================================================
+ * Function:	isstrstr ( char *string, char *snippets, int iscase )
+ * Purpose:	determine whether any substring of 'string'
+ *		matches any of the comma-separated list of 'snippets',
+ *		ignoring case if iscase=0.
  * --------------------------------------------------------------------------
- * Arguments:	expression (I)	char * to first char of null-terminated
- *				string containing valid LaTeX expression
- *				to be rasterized
- *		size (I)	int containing 0-4 default font size
+ * Arguments:	string (I)	char * containing null-terminated
+ *				string that will be searched for
+ *				any one of the specified snippets
+ *		snippets (I)	char * containing null-terminated,
+ *				comma-separated list of snippets
+ *				to be searched for in string
+ *		iscase (I)	int containing 0 for case-insensitive
+ *				comparisons, or 1 for case-sensitive
  * --------------------------------------------------------------------------
- * Returns:	( subraster * )	ptr to subraster corresponding to expression,
- *				or NULL for any parsing error.
+ * Returns:	( int )		1 if any snippet is a substring of
+ *				string, 0 if not
  * --------------------------------------------------------------------------
- * Notes:     o	This is mimeTeX's "main" reusable entry point.  Easy to use:
- *		just call it with a LaTeX expression, and get back a bitmap
- *		of that expression.  Then do what you want with the bitmap.
+ * Notes:     o
  * ======================================================================= */
 /* --- entry point --- */
-subraster *rasterize ( char *expression, int size )
+int	isstrstr ( char *string, char *snippets, int iscase )
 {
 /* -------------------------------------------------------------------------
 Allocations and Declarations
 -------------------------------------------------------------------------- */
-char	*preamble(), pretext[512];	/* process preamble, if present */
-char	chartoken[MAXSUBXSZ+1], *texsubexpr(), /*get subexpression from expr*/
-	*subexpr = chartoken;		/* token may be parenthesized expr */
-int	isbrace();			/* check subexpr for braces */
-mathchardef *symdef, *get_symdef();	/*get mathchardef struct for symbol*/
-int	ligdef, get_ligature();		/*get symtable[] index for ligature*/
-int	natoms=0;			/* #atoms/tokens processed so far */
-int	type_raster();			/* display debugging output */
-subraster *rasterize(),			/* recurse */
-	*rastparen(),			/* handle parenthesized subexpr's */
-	*rastlimits();			/* handle sub/superscripted expr's */
-subraster *rastcat(),			/* concatanate atom subrasters */
-	*subrastcpy(),			/* copy final result if a charaster*/
-	*new_subraster();		/* new subraster for isstring mode */
-subraster *get_charsubraster(),		/* character subraster */
-	*sp=NULL, *prevsp=NULL,		/* raster for current, prev char */
-	*expraster = (subraster *)NULL;	/* raster returned to caller */
-int	delete_subraster();		/* free everything before returning*/
-int	family = fontinfo[fontnum].family; /* current font family */
-int	isleftscript = 0,		/* true if left-hand term scripted */
-	wasscripted = 0,		/* true if preceding token scripted*/
-	wasdelimscript = 0;		/* true if preceding delim scripted*/
-/*int	pixsz = 1;*/			/*default #bits per pixel, 1=bitmap*/
+int	status = 0;			/*1 if any snippet found in string*/
+char	snip[256], *snipptr = snippets,	/* munge through each snippet */
+	delim = ',', *delimptr = NULL;	/* separated by delim's */
+char	stringcp[4096], *cp = stringcp;	/*maybe lowercased copy of string*/
+/* -------------------------------------------------------------------------
+initialization
+-------------------------------------------------------------------------- */
+/* --- arg check --- */
+if ( string==NULL || snippets==NULL ) goto end_of_job; /* missing arg */
+if ( *string=='\000' || *snippets=='\000' ) goto end_of_job; /* empty arg */
+/* --- copy string and lowercase it if case-insensitive --- */
+strninit(stringcp,string,4064);		/* local copy of string */
+if ( !iscase )				/* want case-insensitive compares */
+  for ( cp=stringcp; *cp != '\000'; cp++ ) /* so for each string char */
+    if ( isupper(*cp) ) *cp = tolower(*cp); /*lowercase any uppercase chars*/
+/* -------------------------------------------------------------------------
+extract each snippet and see if it's a substring of string
+-------------------------------------------------------------------------- */
+while ( snipptr != NULL )		/* while we still have snippets */
+  {
+  /* --- extract next snippet --- */
+  if ( (delimptr = strchr(snipptr,delim)) /* locate next comma delim */
+  ==   NULL )				/*not found following last snippet*/
+    { strninit(snip,snipptr,255);	/* local copy of last snippet */
+      snipptr = NULL; }			/* signal end-of-string */
+  else					/* snippet ends just before delim */
+    { int sniplen = (int)(delimptr-snipptr) - 1;  /* #chars in snippet */
+      memcpy(snip,snipptr,sniplen);	/* local copy of snippet chars */
+      snip[sniplen] = '\000';		/* null-terminated snippet */
+      snipptr = delimptr + 1; }		/* next snippet starts after delim */
+  /* --- lowercase snippet if case-insensitive --- */
+  if ( !iscase )			/* want case-insensitive compares */
+    for ( cp=snip; *cp != '\000'; cp++ ) /* so for each snippet char */
+      if ( isupper(*cp) ) *cp=tolower(*cp); /*lowercase any uppercase chars*/
+  /* --- check if snippet in string --- */
+  if ( strstr(stringcp,snip) != NULL )	/* found snippet in string */
+    { status = 1;			/* so reset return status */
+      break; }				/* no need to check any further */
+  } /* --- end-of-while(*snipptr!=0) --- */
+end_of_job: return ( status );		/*1 if snippet found in list, else 0*/
+} /* --- end-of-function isstrstr() --- */
+
+
+/* ==========================================================================
+ * Function:	isnumeric ( s )
+ * Purpose:	determine if s is an integer
+ * --------------------------------------------------------------------------
+ * Arguments:	s (I)		(char *)pointer to null-terminated string
+ *				that's checked for a leading + or -
+ *				followed by digits
+ * --------------------------------------------------------------------------
+ * Returns:	( int )		1 if s is numeric, 0 if it is not
+ * --------------------------------------------------------------------------
+ * Notes:     o
+ * ======================================================================= */
+/* --- entry point --- */
+int	isnumeric ( char *s )
+{
+/* -------------------------------------------------------------------------
+determine whether s is an integer
+-------------------------------------------------------------------------- */
+int	status = 0;			/* return 0 if not numeric, 1 if is*/
+char	*p = s;				/* pointer into s */
+if ( isempty(s) ) goto end_of_job;	/* missing arg or empty string */
+skipwhite(p);				/*check for leading +or- after space*/
+if ( *p=='+' || *p=='-' ) p++;		/* skip leading + or - */
+for ( ; *p != '\000'; p++ ) {		/* check rest of s for digits */
+  if ( isdigit(*p) ) continue;		/* still got uninterrupted digits */
+  if ( !isthischar(*p,WHITESPACE) ) goto end_of_job; /* non-numeric char */
+  skipwhite(p);				/* skip all subsequent whitespace */
+  if ( *p == '\000' ) break;		/* trailing whitespace okay */
+  goto end_of_job;			/* embedded whitespace non-numeric */
+  } /* --- end-of-for(*p) --- */
+status = 1;				/* numeric after checks succeeded */
+end_of_job:
+  return ( status );			/*back to caller with 1=string, 0=no*/
+} /* --- end-of-function isnumeric() --- */
+
+
+/* ==========================================================================
+ * Function:	evalterm ( STORE *store, char *term )
+ * Purpose:	evaluates a term
+ * --------------------------------------------------------------------------
+ * Arguments:	store (I/O)	STORE * containing environment
+ *				in which term is to be evaluated
+ *		term (I)	char * containing null-terminated string
+ *				with a term like "3" or "a" or "a+3"
+ *				whose value is to be determined
+ * --------------------------------------------------------------------------
+ * Returns:	( int )		value of term,
+ *				or NOVALUE for any error
+ * --------------------------------------------------------------------------
+ * Notes:     o	Also evaluates index?a:b:c:etc, returning a if index<=0,
+ *		b if index=1, etc, and the last value if index is too large.
+ *		Each a:b:c:etc can be another expression, including another
+ *		(index?a:b:c:etc) which must be enclosed in parentheses.
+ * ======================================================================= */
+/* --- entry point --- */
+int	evalterm ( STORE *store, char *term )
+{
+/* -------------------------------------------------------------------------
+Allocations and Declarations
+-------------------------------------------------------------------------- */
+int	termval = 0;			/* term value returned to caller */
+char	token[2048] = "\000",		/* copy term */
+	*delim = NULL;			/* delim '(' or '?' in token */
+/*int	evalwff(),*/			/* recurse to evaluate terms */
+/*	evalfunc();*/			/* evaluate function(arg1,arg2,...)*/
+char	*strpspn();			/* span delims */
+int	getstore();			/* lookup variables */
+int	isnumeric();			/* numeric=constant, else variable */
+static	int evaltermdepth = 0;		/* recursion depth */
+int	novalue = (-89123456);		/* dummy (for now) error signal */
+/* -------------------------------------------------------------------------
+Initialization
+-------------------------------------------------------------------------- */
+if ( ++evaltermdepth > 99 ) goto end_of_job; /*probably recursing forever*/
+if ( store==NULL || isempty(term) ) goto end_of_job; /*check for missing arg*/
+skipwhite(term);			/* skip any leading whitespace */
+/* -------------------------------------------------------------------------
+First look for conditional of the form term?term:term:...
+-------------------------------------------------------------------------- */
+/* ---left-hand part of conditional is chars preceding "?" outside ()'s--- */
+delim = strpspn(term,"?",token);	/* chars preceding ? outside () */
+if ( *delim != '\000' ) {		/* found conditional expression */
+  int ncolons = 0;			/* #colons we've found so far */
+  if ( *token != '\000' )		/* evaluate "index" value on left */
+    if ( (termval=evalterm(store,token)) /* evaluate left-hand term */
+    == novalue ) goto end_of_job;	/* return error if failed */
+  while ( *delim != '\000' ) {		/* still have chars in term */
+    delim++; *token='\000';		/* initialize for next "value:" */
+    if ( *delim == '\000' ) break;	/* no more values */
+    delim = strpspn(delim,":",token);	/* chars preceding : outside () */
+    if ( ncolons++ >= termval ) break;	/* have corresponding term */
+    } /* --- end-of-while(*delim!='\000')) --- */
+  if ( *token != '\000' )		/* have x:x:value:x:x on right */
+    termval=evalterm(store,token);	/* so evaluate it */
+  goto end_of_job;			/* return result to caller */
+  } /* --- end-of-if(*delim!='\000')) --- */
+/* -------------------------------------------------------------------------
+evaluate a+b recursively
+-------------------------------------------------------------------------- */
+/* --- left-hand part of term is chars preceding "/+-*%" outside ()'s --- */
+term = strpspn(term,"/+-*%",token);	/* chars preceding /+-*% outside ()*/
+/* --- evaluate a+b, a-b, etc --- */
+if ( *term != '\000' ) {		/* found arithmetic operation */
+  int leftval=0, rightval=0;		/* init leftval for unary +a or -a */
+  if ( *token != '\000' )		/* or eval for binary a+b or a-b */
+    if ( (leftval=evalterm(store,token)) /* evaluate left-hand term */
+    == novalue ) goto end_of_job;	/* return error if failed */
+  if ( (rightval=evalterm(store,term+1)) /* evaluate right-hand term */
+  == novalue ) goto end_of_job;		/* return error if failed */
+  switch ( *term ) {			/* perform requested arithmetic */
+    default: break;			/* internal error */
+    case '+': termval = leftval+rightval;  break;  /* addition */
+    case '-': termval = leftval-rightval;  break;  /* subtraction */
+    case '*': termval = leftval*rightval;  break;  /* multiplication */
+    case '/': if ( rightval != 0 )	/* guard against divide by zero */
+                termval = leftval/rightval;  break; /* integer division */
+    case '%': if ( rightval != 0 )	/* guard against divide by zero */
+                termval = leftval%rightval;  break; /*left modulo right */
+    } /* --- end-of-switch(*relation) --- */
+  goto end_of_job;			/* return result to caller */
+  } /* --- end-of-if(*term!='\000')) --- */
+/* -------------------------------------------------------------------------
+check for parenthesized expression or term of the form function(arg1,arg2,...)
+-------------------------------------------------------------------------- */
+if ( (delim = strchr(token,'(')) != NULL ) { /* token contains a ( */
+  /* --- strip trailing paren (if there hopefully is one) --- */
+  int  toklen = strlen(token);		/* total #chars in token */
+  if ( token[toklen-1] == ')' )		/* found matching ) at end of token*/
+    token[--toklen] = '\000';		/* remove trailing ) */
+  /* --- handle parenthesized subexpression --- */
+  if ( *token == '(' ) {		/* have parenthesized expression */
+    strsqueeze(token,1);		/* so squeeze out leading ( */
+    /* --- evaluate edited term --- */
+    trimwhite(token);			/* trim leading/trailing whitespace*/
+    termval = evalterm(store,token); }	/* evaluate token recursively */
+  /* --- handle function(arg1,arg2,...) --- */
+  else {				/* have function(arg1,arg2,...) */
+    *delim = '\000';			/* separate function name and args */
+    /*termval = evalfunc(store,token,delim+1);*/ } /* evaluate function */
+  goto end_of_job; }			/* return result to caller */
+/* -------------------------------------------------------------------------
+evaluate constants directly, or recursively evaluate variables, etc
+-------------------------------------------------------------------------- */
+if ( *token != '\000' ) {		/* empty string */
+  if ( isnumeric(token) )		/* have a constant */
+    termval = atoi(token);		/* convert ascii-to-int */
+  else {				/* variable or "stored proposition"*/
+    termval = getstore(store,token); }	/* look up token */
+  } /* --- end-of-if(*token!=0) --- */
+/* -------------------------------------------------------------------------
+back to caller with truth value of proposition
+-------------------------------------------------------------------------- */
+end_of_job:
+  /* --- back to caller --- */
+  if ( evaltermdepth > 0 ) evaltermdepth--;  /* pop recursion depth */
+  return ( termval );			/* back to caller with value */
+} /* --- end-of-function evalterm() --- */
+
+
+/* ==========================================================================
+ * Function:	getstore ( store, identifier )
+ * Purpose:	finds identifier in store and returns corresponding value
+ * --------------------------------------------------------------------------
+ * Arguments:	store (I)	(STORE *)pointer to store containing
+ *				the desired identifier
+ *		identifier (I)	(char *)pointer to null-terminated string
+ *				containing the identifier whose value
+ *				is to be returned
+ * --------------------------------------------------------------------------
+ * Returns:	( int )		identifier's corresponding value,
+ *				or 0 if identifier not found (or any error)
+ * --------------------------------------------------------------------------
+ * Notes:     o
+ * ======================================================================= */
+/* --- entry point --- */
+int	getstore ( STORE *store, char *identifier )
+{
+/* -------------------------------------------------------------------------
+Allocations and Declarations
+-------------------------------------------------------------------------- */
+int	value = 0;		/* store[istore].value for identifier */
+int	istore=0;		/* store[] index containing identifier */
+char	seek[512], hide[512];	/* identifier arg, identifier in store */
+/* --- first check args --- */
+if ( store==NULL || isempty(identifier)) goto end_of_job; /* missing arg */
+strninit(seek,identifier,500);	/* local copy of caller's identifier */
+trimwhite(seek);		/* remove leading/trailing whitespace */
+/* --- loop over store --- */
+for ( istore=0; istore<MAXSTORE; istore++ ) { /* until end-of-table */
+  char *idstore = store[istore].identifier; /* ptr to identifier in store */
+  if ( isempty(idstore) )	/* empty id signals eot */
+    break;			/* de-reference any default/error value */
+  strninit(hide,idstore,500);	/* local copy of store[] identifier */
+  trimwhite(hide);		/* remove leading/trailing whitespace */
+  if ( !strcmp(hide,seek) )	/* found match */
+    break;			/* de-reference corresponding value */
+  } /* --- end-of-for(istore) --- */
+if ( store[istore].value != NULL ) /* address of int supplied */
+  value = *(store[istore].value);  /* return de-referenced int */
+end_of_job:
+  return ( value );			/* store->values[istore] or NULL */
+} /* --- end-of-function getstore() --- */
+
+
+/* ==========================================================================
+ * Functions:	int  unescape_url ( char *url, int isescape )
+ *		char x2c ( char *what )
+ * Purpose:	unescape_url replaces 3-character sequences %xx in url
+ *		    with the single character represented by hex xx.
+ *		x2c returns the single character represented by hex xx
+ *		    passed as a 2-character sequence in what.
+ * --------------------------------------------------------------------------
+ * Arguments:	url (I)		char * containing null-terminated
+ *				string with embedded %xx sequences
+ *				to be converted.
+ *		isescape (I)	int containing 1 to _not_ unescape
+ *				\% sequences (0 would be NCSA default)
+ *		what (I)	char * whose first 2 characters are
+ *				interpreted as ascii representations
+ *				of hex digits.
+ * --------------------------------------------------------------------------
+ * Returns:	( int )		unescape_url always returns 0.
+ *		( char )	x2c returns the single char
+ *				corresponding to hex xx passed in what.
+ * --------------------------------------------------------------------------
+ * Notes:     o	These two functions were taken verbatim from util.c in
+ *   ftp://ftp.ncsa.uiuc.edu/Web/httpd/Unix/ncsa_httpd/cgi/ncsa-default.tar.Z
+ *	      o	Not quite "verbatim" -- I added the "isescape logic" 4-Dec-03
+ *		so unescape_url() can be safely applied to input which may or
+ *		may not have been url-encoded.  (Note: currently, all calls
+ *		to unescape_url() pass iescape=0, so it's not used.)
+ *	      o	Added +++'s to blank xlation on 24-Sep-06
+ *	      o	Added ^M,^F,etc to blank xlation 0n 01-Oct-06
+ * ======================================================================= */
+/* --- entry point --- */
+int unescape_url(char *url, int isescape) {
+    int x=0,y=0,prevescape=0,gotescape=0;
+    int xlateplus = (isplusblank==1?1:0); /* true to xlate plus to blank */
+    int strreplace();			/* replace + with blank, if needed */
+    char x2c();
+    static char *hex="0123456789ABCDEFabcdef";
+    /* ---
+     * xlate ctrl chars to blanks
+     * -------------------------- */
+    if ( 1 ) {				/* xlate ctrl chars to blanks */
+      char *ctrlchars = "\n\t\v\b\r\f\a\015";
+      int  seglen = strspn(url,ctrlchars); /*initial segment with ctrlchars*/
+      int  urllen = strlen(url);	/* total length of url string */
+      /* --- first, entirely remove ctrlchars from beginning and end --- */
+      if ( seglen > 0 ) {		/*have ctrlchars at start of string*/
+	strsqueeze(url,seglen);		/* squeeze out initial ctrlchars */
+	urllen -= seglen; }		/* string is now shorter */
+      while ( --urllen >= 0 )		/* now remove ctrlchars from end */
+	if ( isthischar(url[urllen],ctrlchars) ) /* ctrlchar at end */
+	  url[urllen] = '\000';		/* re-terminate string before it */
+	else break;			/* or we're done */
+      urllen++;				/* length of url string */
+      /* --- now, replace interior ctrlchars with ~ blanks --- */
+      while ( (seglen=strcspn(url,ctrlchars)) < urllen ) /*found a ctrlchar*/
+	url[seglen] = '~';		/* replace ctrlchar with ~ */
+      } /* --- end-of-if(1) --- */
+    /* ---
+     * xlate +'s to blanks if requested or if deemed necessary
+     * ------------------------------------------------------- */
+    if ( isplusblank == (-1) ) {	/*determine whether or not to xlate*/
+      char *searchfor[] = { " ","%20", "%2B","%2b", "+++","++",
+	"+=+","+-+", NULL };
+      int  isearch = 0,			/* searchfor[] index */
+	   nfound[11] = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}; /*#occurrences*/
+      /* --- locate occurrences of searchfor[] strings in url --- */
+      for ( isearch=0; searchfor[isearch] != NULL; isearch++ ) {
+	char *psearch = url;		/* start search at beginning */
+	nfound[isearch] = 0;		/* init #occurrences count */
+	while ( (psearch=strstr(psearch,searchfor[isearch])) != NULL ) {
+	  nfound[isearch] += 1;		/* count another occurrence */
+	  psearch += strlen(searchfor[isearch]); } /*resume search after it*/
+	} /* --- end-of-for(isearch) --- */
+      /* --- apply some common-sense logic --- */
+      if ( nfound[0] + nfound[1] > 0 )	/* we have actual " "s or "%20"s */
+	isplusblank = xlateplus = 0;	/* so +++'s aren't blanks */
+      if ( nfound[2] + nfound[3] > 0 ) { /* we have "%2B" for +++'s */
+        if ( isplusblank != 0 )		/* and haven't disabled xlation */
+	  isplusblank = xlateplus = 1;	/* so +++'s are blanks */
+	else				/* we have _both_ "%20" and "%2b" */
+	  xlateplus = 0; }		/* tough call */
+      if ( nfound[4] + nfound[5] > 0	/* we have multiple ++'s */
+      ||   nfound[6] + nfound[7] > 0 )	/* or we have a +=+ or +-+ */
+	if ( isplusblank != 0 )		/* and haven't disabled xlation */
+	  xlateplus = 1;		/* so xlate +++'s to blanks */
+      } /* --- end-of-if(isplusblank==-1) --- */
+    if ( xlateplus > 0 ) {		/* want +'s xlated to blanks */
+      char *xlateto[] = { ""," "," "," + "," "," "," "," "," " };
+      while ( xlateplus > 0 ) {		/* still have +++'s to xlate */
+	char plusses[99] = "++++++++++++++++++++"; /* longest +++ string */
+	plusses[xlateplus] = '\000';	/* null-terminate +++'s */
+	strreplace(url,plusses,xlateto[xlateplus],0); /* xlate +++'s */
+	xlateplus--;			/* next shorter +++ string */
+	} /* --- end-of-while(xlateplus>0) --- */
+      } /* --- end-of-if(xlateplus) --- */
+    isplusblank = 0;			/* don't iterate this xlation */
+    /* ---
+     * xlate %nn to corresponding char
+     * ------------------------------- */
+    for(;url[y];++x,++y) {
+	gotescape = prevescape;
+	prevescape = (url[x]=='\\');
+	if((url[x] = url[y]) == '%')
+	 if(!isescape || !gotescape)
+	  if(isthischar(url[y+1],hex)
+	  && isthischar(url[y+2],hex))
+	    { url[x] = x2c(&url[y+1]);
+	      y+=2; }
+    }
+    url[x] = '\0';
+    return 0;
+} /* --- end-of-function unescape_url() --- */
+/* --- entry point --- */
+char x2c(char *what) {
+    char digit;
+    digit = (what[0] >= 'A' ? ((what[0] & 0xdf) - 'A')+10 : (what[0] - '0'));
+    digit *= 16;
+    digit += (what[1] >= 'A' ? ((what[1] & 0xdf) - 'A')+10 : (what[1] - '0'));
+    return(digit);
+} /* --- end-of-function x2c() --- */
+#endif /* PART2 */
+
+/* ---
+ * PART3
+ * ------ */
+#if !defined(PARTS) || defined(PART3)
+/* ==========================================================================
+ * Function:	rasterize ( expression, size )
+ * Purpose:	returns subraster corresponding to (a valid LaTeX) expression
+ *		at font size
+ * --------------------------------------------------------------------------
+ * Arguments:	expression (I)	char * to first char of null-terminated
+ *				string containing valid LaTeX expression
+ *				to be rasterized
+ *		size (I)	int containing 0-4 default font size
+ * --------------------------------------------------------------------------
+ * Returns:	( subraster * )	ptr to subraster corresponding to expression,
+ *				or NULL for any parsing error.
+ * --------------------------------------------------------------------------
+ * Notes:     o	This is mimeTeX's "main" reusable entry point.  Easy to use:
+ *		just call it with a LaTeX expression, and get back a bitmap
+ *		of that expression.  Then do what you want with the bitmap.
+ * ======================================================================= */
+/* --- entry point --- */
+subraster *rasterize ( char *expression, int size )
+{
+/* -------------------------------------------------------------------------
+Allocations and Declarations
+-------------------------------------------------------------------------- */
+char	*preamble(), pretext[512];	/* process preamble, if present */
+char	chartoken[MAXSUBXSZ+1], *texsubexpr(), /*get subexpression from expr*/
+	*subexpr = chartoken;		/* token may be parenthesized expr */
+int	isbrace();			/* check subexpr for braces */
+mathchardef *symdef, *get_symdef();	/*get mathchardef struct for symbol*/
+int	ligdef, get_ligature();		/*get symtable[] index for ligature*/
+int	natoms=0;			/* #atoms/tokens processed so far */
+int	type_raster();			/* display debugging output */
+subraster *rasterize(),			/* recurse */
+	*rastparen(),			/* handle parenthesized subexpr's */
+	*rastlimits();			/* handle sub/superscripted expr's */
+subraster *rastcat(),			/* concatanate atom subrasters */
+	*subrastcpy(),			/* copy final result if a charaster*/
+	*new_subraster();		/* new subraster for isstring mode */
+subraster *get_charsubraster(),		/* character subraster */
+	*sp=NULL, *prevsp=NULL,		/* raster for current, prev char */
+	*expraster = (subraster *)NULL;	/* raster returned to caller */
+int	delete_subraster();		/* free everything before returning*/
+int	family = fontinfo[fontnum].family; /* current font family */
+int	isleftscript = 0,		/* true if left-hand term scripted */
+	wasscripted = 0,		/* true if preceding token scripted*/
+	wasdelimscript = 0;		/* true if preceding delim scripted*/
+/*int	pixsz = 1;*/			/*default #bits per pixel, 1=bitmap*/
+char	*strdetex();			/* detex token for error message */
 /* --- global values saved/restored at each recursive iteration --- */
 int	wasstring = isstring,		/* initial isstring mode flag */
 	wasdisplaystyle = isdisplaystyle, /*initial displaystyle mode flag*/
@@ -6037,6 +7228,7 @@
 if(1)fraccenterline = NOVALUE;		/* reset \frac baseline signal */
 /* shrinkfactor = shrinkfactors[max2(0,min2(size,LARGESTSIZE))];*/ /*set sf*/
 shrinkfactor = shrinkfactors[max2(0,min2(size,16))]; /* have 17 sf's */
+rastlift = 0;				/* reset global rastraise() lift */
 if ( msgfp!=NULL && msglevel >= 9 ) {	/*display expression for debugging*/
  fprintf(msgfp,
  "rasterize> recursion#%d, size=%d,\n\texpression=\"%s\"\n",
@@ -6126,9 +7318,9 @@
         fontnum = 0;			/* reset from \mathbb, etc */
         if ( isthischar(*chartoken,ESCAPE) ) /* we got unrecognized \escape*/
 	 { /* --- so display literal {\rm~[\backslash~chartoken?]} ---  */
-	   strcpy(literal,"{\\rm~[\\backslash~"); /* init token */
-	   strcat(literal,chartoken+1);	/* add chars following leading \ */
-	   strcat(literal,"?]}"); }	/* add closing brace */
+	   strcpy(literal,"{\\rm~[");	/* init error message token */
+	   strcat(literal,strdetex(chartoken,0)); /* detex the token */
+	   strcat(literal,"?]}"); }	/* add closing ? and brace */
         sp = rasterize(literal,size-1);	/* rasterize literal token */
         fontnum = oldfontnum;		/* reset font family */
         if ( sp == (subraster *)NULL ) continue; }/*flush if rasterize fails*/
@@ -6227,6 +7419,7 @@
   leftexpression = oldleftexpression;	/* leftexpression reset */
   leftsymdef = oldleftsymdef;		/* leftsymdef reset */
   unitlength = oldunitlength;		/* unitlength reset */
+  iunitlength = (int)(unitlength+0.5);	/* iunitlength reset */
   recurlevel--;				/* unwind one recursion level */
   /* --- return final subraster to caller --- */
   return ( expraster );
@@ -6241,7 +7434,7 @@
  * Arguments:	subexpr (I)	char **  to first char of null-terminated
  *				string beginning with a LEFTBRACES
  *				to be rasterized
- *		size (I)	int containing 0-5 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding leading left{
  *				(unused, but passed for consistency)
@@ -6285,7 +7478,7 @@
 /* --- get expression *without* enclosing parens --- */
 strcpy(noparens,expression);		/* get local copy of expression */
 noparens[explen-(1+isescape)] = '\000';	/* null-terminate before right} */
-strcpy(noparens,noparens+(1+isescape));	/* and then squeeze out left{ */
+strsqueeze(noparens,(1+isescape));	/* and then squeeze out left{ */
 /* --- rasterize it --- */
 if ( (sp = rasterize(noparens,size))	/*rasterize "interior" of expression*/
 ==   NULL ) goto end_of_job;		/* quit if failed */
@@ -6389,8 +7582,7 @@
 if ( isstring ) goto end_of_job;	/* no scripts for ascii string */
 /* --- check for \limits or \nolimits --- */
 skipwhite(exprptr);			/* skip white space before \limits */
-if ( exprptr != NULL )			/* expression ptr supplied */
- if ( *exprptr != '\000' )		/* something in expression */
+if ( !isempty(exprptr) )		/* non-empty expression supplied */
   exprptr = texchar(exprptr,limtoken);	/* retrieve next token */
 if ( *limtoken != '\000' )		/* have token */
  if ( (toklen=strlen(limtoken)) >= 3 )	/* which may be \[no]limits */
@@ -6474,7 +7666,7 @@
  *				string beginning with a super/subscript,
  *				and returning ptr immediately following
  *				last script character processed.
- *		size (I)	int containing 0-4 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding leading script
  *				(scripts will be placed relative to base)
@@ -6627,7 +7819,7 @@
  *				rasterized along with its super/subscripts,
  *				and returning ptr immediately following last
  *				character processed.
- *		size (I)	int containing 0-4 default font size
+ *		size (I)	int containing 0-7 default font size
  *		sp (I)		subraster *  to display math operator
  *				to which super/subscripts will be added
  * --------------------------------------------------------------------------
@@ -6701,7 +7893,7 @@
  * Arguments:	expression (I)	char **  to first char of null-terminated
  *				string beginning with a \left
  *				to be rasterized
- *		size (I)	int containing 0-5 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding leading left{
  *				(unused, but passed for consistency)
@@ -6858,7 +8050,7 @@
   if ( strstr(ldelim,opdelims[idelim]) != NULL ) /* found operator */
     { margin += opmargin;		/* extra height for operator */
       if ( *ldelim == '\\' )		/* have leading escape */
-	strcpy(ldelim,ldelim+1);	/* squeeze it out */
+	{strsqueeze(ldelim,1);}		/* squeeze it out */
       break; }				/* no need to check rest of table */
 /* --- xlate delimiters and check for textstyle --- */
 for ( idelim=1; idelim<=2; idelim++ ) {	/* 1=left, 2=right */
@@ -6950,7 +8142,7 @@
  * Arguments:	expression (I)	char **  to first char of null-terminated
  *				string beginning with a \right
  *				to be rasterized
- *		size (I)	int containing 0-5 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding leading left{
  *				(unused, but passed for consistency)
@@ -6989,7 +8181,7 @@
  *				string immediately following \middle to be
  *				rasterized, and returning ptr immediately
  *				to terminating null.
- *		size (I)	int containing 0-5 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding \middle
  *				(unused, but passed for consistency)
@@ -7169,8 +8361,10 @@
     fonttable = (issupersampling?ssfonttable:aafonttable); /* set fonts */
     break;
   case ISFONTSIZE:			/* set fontsize */
+  case ISMAGSTEP:			/* set magstep */
   case ISDISPLAYSIZE:			/* set displaysize */
   case ISCONTENTTYPE:			/*enable/disable content-type lines*/
+  case ISCONTENTCACHED:			/* write content-type to cache file*/
   case ISSHRINK:			/* set shrinkfactor */
   case ISAAALGORITHM:			/* set anti-aliasing algorithm */
   case ISWEIGHT:			/* set font weight */
@@ -7190,7 +8384,7 @@
 	  if ( !isthischar(*valuearg,"?") ) /*leading ? is query for value*/
 	   { isdelta = isthischar(*valuearg,"+-"); /* leading + or - */
 	     if ( memcmp(valuearg,"--",2) == 0 ) /* leading -- signals...*/
-	       { isdelta=0; strcpy(valuearg,valuearg+1); } /* ...not delta */
+	       { isdelta=0; strsqueeze(valuearg,1); } /* ...not delta */
 	     switch ( flag ) {		/* convert to double or int */
 	      default: argvalue = atoi(valuearg); break; /* convert to int */
 	      case ISGAMMA:
@@ -7238,6 +8432,12 @@
 	     { *expression = (char *)(*expression-valuelen); /*back up buff*/
 	       memcpy(*expression,valuearg,valuelen); } } /*and put in size*/
 	break;
+      case ISMAGSTEP:			/* set magstep */
+	if ( argvalue != NOVALUE ) {	/* got a value */
+	  int largestmag = 10;
+	  magstep = (isdelta? magstep+argvalue : argvalue);
+	  magstep = max2(1,min2(magstep,largestmag)); }
+	break;
       case ISDISPLAYSIZE:		/* set displaysize */
 	if ( argvalue != NOVALUE )	/* got a value */
 	    displaysize = (isdelta? displaysize+argvalue : argvalue);
@@ -7246,6 +8446,10 @@
 	if ( argvalue != NOVALUE )	/* got a value */
 	    isemitcontenttype = (argvalue>0?1:0);
 	break;
+      case ISCONTENTCACHED:		/* write content-type to cache file*/
+	if ( argvalue != NOVALUE )	/* got a value */
+	    iscachecontenttype = (argvalue>0?1:0);
+	break;
       case ISSMASH:			/* set (minimum) "smash" margin */
 	if ( argvalue != NOVALUE )	/* got a value */
 	  { smashmargin = argvalue;	/* set value */
@@ -7318,6 +8522,7 @@
       {	*expression = texsubexpr(*expression,valuearg,1023,"{","}",0,0);
 	if ( *valuearg != '\000' )	/* guard against empty string */
 	  unitlength = strtod(valuearg,NULL); } /* convert to double */
+    iunitlength = (int)(unitlength+0.5); /* iunitlength reset */
     break;
   } /* --- end-of-switch(flag) --- */
 return ( NULL );			/*just set value, nothing to display*/
@@ -7363,6 +8568,7 @@
 int	pixsz = 1;			/*default #bits per pixel, 1=bitmap*/
 int	isstar=0, minspace=0;		/* defaults for negative hspace */
 char	*texsubexpr(), widtharg[256];	/* parse for optional {width} */
+int	evalterm(), evalue=0;		/* evaluate [args], {args} */
 subraster *rasterize(), *rightsp=NULL;	/*rasterize right half of expression*/
 subraster *rastcat();			/* cat rightsp after \hfill */
 /* -------------------------------------------------------------------------
@@ -7380,14 +8586,15 @@
   int minwidth = (isfill||isheight?1:-600); /* \hspace allows negative */
   /* --- check if optional [minspace] given for negative \hspace --- */
   if ( *(*expression) == '[' ) {	/* [minspace] if leading char is [ */
-    /* ---parse [minspace], bump expression past it, interpret as double--- */
+    /* ---parse [minspace], bump expression past it, evaluate expression--- */
     *expression = texsubexpr(*expression,widtharg,127,"[","]",0,0);
-    if ( *widtharg != '\000' )		/* got [minspace] */
-      minspace = iround(unitlength*strtod(widtharg,NULL)); /* in pixels */
+    if ( !isempty(widtharg) ) {		/* got [minspace] */
+      evalue = evalterm(mimestore,widtharg); /* evaluate widtharg expr */
+      minspace = iround(unitlength*((double)evalue)); } /* in pixels */
     } /* --- end-of-if(*(*expression)=='[') --- */
   width = 1;				/* set default width */
   *expression = texsubexpr(*expression,widtharg,255,"{","}",0,0);
-  dwidth = unitlength*strtod(widtharg,NULL); /* scaled width value */
+  dwidth = unitlength*((double)evalterm(mimestore,widtharg)); /* scaled */
   widthval =				/* convert {width} to integer */
 		(int)( dwidth + (dwidth>=0.0?0.5:(-0.5)) );
   if ( widthval>=minwidth && widthval<=600 ) /* sanity check */
@@ -7466,7 +8673,7 @@
  *				string immediately following \\ to be
  *				rasterized, and returning ptr immediately
  *				to terminating null.
- *		size (I)	int containing 0-5 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding \\
  *				(unused, but passed for consistency)
@@ -7490,7 +8697,7 @@
 subraster *rastack(), *newlsp=NULL;	/* subraster for both lines */
 subraster *rasterize(), *rightsp=NULL;	/*rasterize right half of expression*/
 char	*texsubexpr(), spacexpr[129]/*, *xptr=spacexpr*/; /*for \\[vspace]*/
-double	strtod();			/* convert ascii param to double */
+int	evalterm(), evalue=0;		/* evaluate [arg], {arg} */
 int	vspace = size+2;		/* #pixels between lines */
 /* -------------------------------------------------------------------------
 obtain optional [vspace] argument immediately following \\ command
@@ -7501,7 +8708,8 @@
   /* ---parse [vspace] and bump expression past it, interpret as double--- */
   *expression = texsubexpr(*expression,spacexpr,127,"[","]",0,0);
   if ( *spacexpr == '\000' ) goto end_of_job; /* couldn't get [vspace] */
-  vspace = iround(unitlength*strtod(spacexpr,NULL)); /* vspace in pixels */
+  evalue = evalterm(mimestore,spacexpr); /* evaluate [space] arg */
+  vspace = iround(unitlength*((double)evalue)); /* vspace in pixels */
   } /* --- end-of-if(*(*expression)=='[') --- */
 if ( leftexpression == NULL ) goto end_of_job; /* nothing preceding \\ */
 /* -------------------------------------------------------------------------
@@ -7567,7 +8775,7 @@
 subraster *rasterize(), *subsp=NULL,*supsp=NULL; /*rasterize limits*/
 subraster *new_subraster(), *rastack(), *spacesp=NULL; /*space below arrow*/
 int	delete_subraster();		/*free work areas in case of error*/
-double	strtod();			/* convert ascii [width] to value */
+int	evalterm();			/* evaluate [arg], {arg} */
 int	width = 10 + 8*size,  height;	/* width, height for \longxxxarrow */
 int	islimits = 1;			/*true to handle limits internally*/
 int	limsize = size-1;		/* font size for limits */
@@ -7581,7 +8789,7 @@
   { int widthval;			/* test [width] before using it */
     *expression = texsubexpr(*expression,widtharg,255,"[","]",0,0);
     widthval =				/* convert [width] to integer */
-		(int)((unitlength*strtod(widtharg,NULL))+0.5);
+	(int)((unitlength*((double)evalterm(mimestore,widtharg)))+0.5);
     if ( widthval>=2 && widthval<=600 )	/* sanity check */
       width = widthval; }		/* replace deafault width */
 /* --- now parse for limits, and bump expression past it(them) --- */
@@ -7661,7 +8869,7 @@
 char	*texscripts(), sub[1024],super[1024]; /* and _^limits after [width]*/
 subraster *rasterize(), *subsp=NULL,*supsp=NULL; /*rasterize limits*/
 subraster *rastcat();			/* cat superscript left, sub right */
-double	strtod();			/* convert ascii [height] to value */
+int	evalterm();			/* evaluate [arg], {arg} */
 int	height = 8 + 2*size,  width;	/* height, width for \longxxxarrow */
 int	islimits = 1;			/*true to handle limits internally*/
 int	limsize = size-1;		/* font size for limits */
@@ -7674,7 +8882,7 @@
   { int heightval;			/* test height before using it */
     *expression = texsubexpr(*expression,heightarg,255,"[","]",0,0);
     heightval =				/* convert [height] to integer */
-		(int)((unitlength*strtod(heightarg,NULL))+0.5);
+	(int)((unitlength*((double)evalterm(mimestore,heightarg)))+0.5);
     if ( heightval>=2 && heightval<=600 ) /* sanity check */
       height = heightval; }		/* replace deafault height */
 /* --- now parse for limits, and bump expression past it(them) --- */
@@ -7728,7 +8936,7 @@
  *				string immediately following overlay \cmd to
  *				be rasterized, and returning ptr immediately
  *				following last character processed.
- *		size (I)	int containing 0-5 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding overlay \cmd
  *				(unused, but passed for consistency)
@@ -7757,7 +8965,9 @@
 subraster *rasterize(), *sp1=NULL, *sp2=NULL, /*rasterize 1=base, 2=overlay*/
 	*new_subraster();		/*explicitly alloc sp2 if necessary*/
 subraster *rastcompose(), *overlaysp=NULL; /*subraster for composite overlay*/
+int	isalign = 0;			/* true to align baselines */
 int	line_raster();			/* draw diagonal for \Not */
+int	evalterm();			/* evaluate [arg], {arg} */
 /* -------------------------------------------------------------------------
 Obtain base, and maybe overlay, and rasterize them
 -------------------------------------------------------------------------- */
@@ -7766,32 +8976,41 @@
  if ( *(*expression) == '[' )		/*check for []-enclosed optional arg*/
   { int offsetval;			/* test before using it */
     *expression = texsubexpr(*expression,expr2,511,"[","]",0,0);
-    offsetval = (int)(strtod(expr2,NULL)+0.5); /* convert [offset2] to int */
+    offsetval =				/* convert [offset2] to int */
+	(int)(((double)evalterm(mimestore,expr2))+0.5);
     if ( abs(offsetval) <= 25 )		/* sanity check */
       offset2 = offsetval; }		/* replace deafault */
 if ( offset2 == NOVALUE ) offset2 = 0;	/* novalue means no offset */
 /* --- parse for base, bump expression past it, and rasterize it --- */
 *expression = texsubexpr(*expression,expr1,511,"{","}",0,0);
-if ( *expr1 == '\000' ) goto end_of_job; /* nothing to overlay, so quit */
+if ( isempty(expr1) ) goto end_of_job;	/* nothing to overlay, so quit */
+rastlift1 = rastlift = 0;		/* reset all raisebox() lifts */
+if ( strstr(expr1,"\\raise") != NULL )	/* have a \raisebox */
+  isalign = 2;				/* so align baselines */
 if ( (sp1=rasterize(expr1,size))	/* rasterize base expression */
 ==   NULL ) goto end_of_job;		/* quit if failed to rasterize */
 overlaysp = sp1;			/*in case we return with no overlay*/
+rastlift1 = rastlift;			/* save lift for base expression */
 /* --- get overlay expression, and rasterize it --- */
 if ( overlay == NOVALUE )		/* get overlay from input stream */
   { *expression = texsubexpr(*expression,expr2,511,"{","}",0,0);
-    if ( *expr2 != '\000' )		/* have an overlay */
-      sp2 = rasterize(expr2,size); }	/* so rasterize overlay expression */
-else					/* specific overlay */
+    if ( !isempty(expr2) ) {		/* have an overlay */
+      if ( strstr(expr2,"\\raise") != NULL ) /* have a \raisebox */
+	isalign = 2;			/* so align baselines */
+      sp2 = rasterize(expr2,size); } }	/* rasterize overlay expression */
+else					/* use specific built-in overlay */
   switch ( overlay )
     {
     default: break;
     case 1:				/* e.g., \not overlays slash */
       sp2 = rasterize("/",size+1);	/* rasterize overlay expression */
+      isalign = 0;			/* automatically handled correctly */
       offset2 = max2(1,size-3);		/* push / right a bit */
       offset2 = 0;
       break;
     case 2:				/* e.g., \Not draws diagonal */
       sp2 = NULL;			/* no overlay required */
+      isalign = 0;			/* automatically handled correctly */
       if ( overlaysp != NULL )		/* check that we have raster */
 	{ raster *rp = overlaysp->image; /* raster to be \Not-ed */
 	  int width=rp->width, height=rp->height; /* raster dimensions */
@@ -7806,9 +9025,9 @@
     case 3:				/* e.g., \sout for strikeout */
       sp2 = NULL;			/* no overlay required */
       if ( overlaysp != NULL )		/* check that we have raster */
-	{ raster *rp = overlaysp->image; /* raster to be \Not-ed */
+	{ raster *rp = overlaysp->image; /* raster to be \sout-ed */
 	  int width=rp->width, height=rp->height; /* raster dimensions */
-	  int baseline = overlaysp->baseline; /* we'll ignore descenders */
+	  int baseline = (overlaysp->baseline)-rastlift; /*skip descenders*/
 	  int midrow = max2(0,min2(height-1,offset2+((baseline+1)/2)));
 	  if ( 1 )			/* strikeout within bounding box */
 	    line_raster(rp,midrow,0,midrow,width-1,1); } /*draw strikeout*/
@@ -7818,7 +9037,7 @@
 /* -------------------------------------------------------------------------
 construct composite overlay
 -------------------------------------------------------------------------- */
-overlaysp = rastcompose(sp1,sp2,offset2,0,3);
+overlaysp = rastcompose(sp1,sp2,offset2,isalign,3);
 end_of_job:
   return ( overlaysp );
 } /* --- end-of-function rastoverlay() --- */
@@ -7833,7 +9052,7 @@
  *				string immediately following \frac to be
  *				rasterized, and returning ptr immediately
  *				following last character processed.
- *		size (I)	int containing 0-5 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding \frac
  *				(unused, but passed for consistency)
@@ -7945,7 +9164,7 @@
  *				string immediately following \stackrel to be
  *				rasterized, and returning ptr immediately
  *				following last character processed.
- *		size (I)	int containing 0-4 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding \stackrel
  *				(unused, but passed for consistency)
@@ -8017,7 +9236,7 @@
  *				string immediately following \mathfunc to be
  *				rasterized, and returning ptr immediately
  *				following last character processed.
- *		size (I)	int containing 0-4 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding \mathfunc
  *				(unused, but passed for consistency)
@@ -8124,7 +9343,7 @@
  *				string immediately following \sqrt to be
  *				rasterized, and returning ptr immediately
  *				following last character processed.
- *		size (I)	int containing 0-4 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding \accent
  *				(unused, but passed for consistency)
@@ -8184,13 +9403,14 @@
 pixsz     = (subsp->image)->pixsz;	/* pixsz remains constant */
 /* --- determine height and width of sqrt to contain subexpr --- */
 sqrtheight = subheight + overspace;	/* subexpr + blank line + overbar */
-surdwidth  = SQRTWIDTH(sqrtheight);	/* width of surd */
+surdwidth  = SQRTWIDTH(sqrtheight,(rootheight<1?2:1)); /* width of surd */
 sqrtwidth  = subwidth + surdwidth + 1;	/* total width */
 /* -------------------------------------------------------------------------
 construct sqrt (with room to move in subexpr) and embed subexpr in it
 -------------------------------------------------------------------------- */
 /* --- construct sqrt --- */
-if ( (sqrtsp=accent_subraster(SQRTACCENT,sqrtwidth,sqrtheight,pixsz))
+if ( (sqrtsp=accent_subraster(SQRTACCENT,
+(rootheight<1?sqrtwidth:(-sqrtwidth)),sqrtheight,0,pixsz))
 ==   NULL ) goto end_of_job;		/* quit if failed to build sqrt */
 /* --- embed subexpr in sqrt at lower-right corner--- */
 rastput(sqrtsp->image,subsp->image,overspace,sqrtwidth-subwidth,1);
@@ -8234,7 +9454,7 @@
  *				string immediately following \accent to be
  *				rasterized, and returning ptr immediately
  *				following last character processed.
- *		size (I)	int containing 0-4 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding \accent
  *				(unused, but passed for consistency)
@@ -8267,7 +9487,7 @@
 subraster *rasterize(), *subsp=NULL, *scrsp=NULL; /*rasterize subexpr,script*/
 subraster *rastack(), *accsubsp=NULL;	/* stack accent, subexpr, script */
 subraster *accent_subraster(), *accsp=NULL; /*raster for the accent itself*/
-int	accheight=0, accwidth=0,	/* height, width of accent */
+int	accheight=0, accwidth=0, accdir=0,/*accent height, width, direction*/
 	subheight=0, subwidth=0, pixsz=0; /* height,width,pixsz of subexpr */
 int	delete_subraster();		/*free work areas in case of error*/
 int	vspace = 0;			/*vertical space between accent,sub*/
@@ -8298,6 +9518,8 @@
     break;
   case VECACCENT:
     vspace = 1;				/* set 1-pixel vertical space */
+    accdir = isscript;			/* +1=right,-1=left,0=lr; +10for==>*/
+    isscript = 0;			/* >>don't<< signal sub/supscript */
   case HATACCENT:
     accheight = 7;			/* default */
     if ( subwidth < 10 ) accheight = 5;	/* unless small width */
@@ -8309,7 +9531,7 @@
 construct accent, and construct subraster with accent over (or under) subexpr
 -------------------------------------------------------------------------- */
 /* --- first construct accent --- */
-if ( (accsp = accent_subraster(accent,accwidth,accheight,pixsz)) /* accent */
+if ( (accsp = accent_subraster(accent,accwidth,accheight,accdir,pixsz))
 ==   NULL ) goto end_of_job;		/* quit if failed to build accent */
 /* --- now stack accent above (or below) subexpr, and free both args --- */
 accsubsp = (isabove? rastack(subsp,accsp,1,vspace,1,3)/*accent above subexpr*/
@@ -8352,7 +9574,7 @@
  *				string immediately following \font to be
  *				rasterized, and returning ptr immediately
  *				following last character processed.
- *		size (I)	int containing 0-5 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding \accent
  *				(unused, but passed for consistency)
@@ -8384,7 +9606,7 @@
 int	oldsmashmargin = smashmargin;	/* turn off smash in text mode */
 #if 0
 /* --- fonts recognized by rastfont --- */
-static	int  nfonts = 6;		/* legal font #'s are 1...nfonts */
+static	int  nfonts = 11;		/* legal font #'s are 1...nfonts */
 static	struct {char *name; int class;}
   fonts[] =
     { /* --- name  class 1=upper,2=alpha,3=alnum,4=lower,5=digit,9=all --- */
@@ -8397,6 +9619,9 @@
 	{ "\\mathbf",	-1 },		/*(6) \bf,\mathbf{abc}-->{\bf~abc} */
 	{ "\\mathrm",   -1 },		/*(7) \mathrm */
 	{ "\\cyr",      -1 },		/*(8) \cyr */
+	{ "\\textgreek",-1 },		/*(9) \textgreek */
+	{ "\\textbfgreek",CMMI10BGR,1,-1 },/*(10) \textbfgreek{ab} */
+	{ "\\textbbgreek",BBOLD10GR,1,-1 },/*(11) \textbbgreek{ab} */
 	{ NULL,		0 }
     } ; /* --- end-of-fonts[] --- */
 #endif
@@ -8513,7 +9738,7 @@
  *				string immediately following \begin to be
  *				rasterized, and returning ptr immediately
  *				following last character processed.
- *		size (I)	int containing 0-4 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding \begin
  *				(unused, but passed for consistency)
@@ -8574,7 +9799,7 @@
 exprptr = texsubexpr(*expression,subexpr,0,"{","}",0,0);
 if ( *subexpr == '\000' ) goto end_of_job; /* no environment given */
 while ( (delims=strchr(subexpr,'*')) != NULL ) /* have environment* */
-  strcpy(delims,delims+1);		/* treat it as environment */
+  {strsqueeze(delims,1);}		/* treat it as environment */
 /* --- look up environment in our table --- */
 for ( ienviron=0; ;ienviron++ )		/* search table till NULL */
   if ( environs[ienviron] == NULL )	/* found NULL before match */
@@ -8744,7 +9969,7 @@
  *				string immediately following \array to be
  *				rasterized, and returning ptr immediately
  *				following last character processed.
- *		size (I)	int containing 0-4 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding \array
  *				(unused, but passed for consistency)
@@ -8783,7 +10008,7 @@
 	 token[MAXTOKNSZ+1],  *tokptr=token, /* subexpr token to rasterize */
 	*preamble(),   *preptr=token;	/*process optional size,lcr preamble*/
 char	*coldelim="&", *rowdelim="\\";	/* need escaped rowdelim */
-int	maxarraysz = 64;		/* max #rows, cols */
+int	maxarraysz = 63;		/* max #rows, cols */
 int	justify[65]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* -1,0,+1 = l,c,r */
 	               0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 	               0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
@@ -8808,6 +10033,9 @@
       rowbaseln[65]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* baseline for row */
 	               0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 	               0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+      vrowspace[65]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*extra //[len]space*/
+	               0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+	               0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
       rowcenter[65]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*true = vcenter row*/
 	               0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 	               0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
@@ -8856,6 +10084,8 @@
 int	ishonly=0, hltoklen, minhltoklen=3; /*flag, token must be \hl or \hd*/
 int	isnewrow=1;			/* true for new row */
 int	pixsz = 1;			/*default #bits per pixel, 1=bitmap*/
+int	evalterm(), evalue=0;		/* evaluate [arg], {arg} */
+static	int mydaemonlevel = 0;		/* check against global daemonlevel*/
 /* -------------------------------------------------------------------------
 Macros to determine extra raster space required for vline/hline
 -------------------------------------------------------------------------- */
@@ -8876,6 +10106,14 @@
 if ( *(subexpr+2)=='\000' )		/* couldn't get subexpression */
   goto end_of_job;			/* nothing to do, so quit */
 /* -------------------------------------------------------------------------
+reset static arrays if main re-entered as daemon (or dll)
+-------------------------------------------------------------------------- */
+if ( mydaemonlevel != daemonlevel ) {	/* main re-entered */
+  for ( icol=0; icol<=maxarraysz; icol++ ) /* for each array[] index */
+    gjustify[icol]    = gcolwidth[icol]   = growheight[icol] =
+    gfixcolsize[icol] = gfixrowsize[icol] = growcenter[icol] = 0;
+  mydaemonlevel = daemonlevel; }	/* update mydaemonlevel */
+/* -------------------------------------------------------------------------
 process optional size,lcr preamble if present
 -------------------------------------------------------------------------- */
 /* --- reset size, get lcr's, and push exprptr past preamble --- */
@@ -8981,6 +10219,7 @@
 tokenize and rasterize components  a & b \\ c & d \\ etc  of subexpr
 -------------------------------------------------------------------------- */
 /* --- rasterize tokens one at a time, and maintain row,col counts --- */
+nrows = 0;				/* start with top row */
 ncols[nrows] = 0;			/* no tokens/cols in top row yet */
 while ( 1 )				/* scan chars till end */
   {
@@ -9026,11 +10265,25 @@
   if ( iseoc )				/* we have a completed token */
     {
     *tokptr = '\000';			/* first, null-terminate token */
-    /* --- check first token in row for \hline or \hdash --- */
+    /* --- check first token in row for [len] and/or \hline or \hdash --- */
     ishonly = 0;			/*init for token not only an \hline*/
     if ( ncols[nrows] == 0 )		/*\hline must be first token in row*/
       {
       tokptr=token; skipwhite(tokptr);	/* skip whitespace after // */
+      /* --- first check for optional [len] --- */
+      if ( *tokptr == '[' ) {		/* have [len] if leading char is [ */
+        /* ---parse [len] and bump tokptr past it, interpret as double--- */
+        char lenexpr[128];  int len;	/* chars between [...] as int */
+        tokptr = texsubexpr(tokptr,lenexpr,127,"[","]",0,0);
+        if ( *lenexpr != '\000' ) {	/* got [len] expression */
+	  evalue = evalterm(mimestore,lenexpr); /* evaluate len expression */
+          len = iround(unitlength*((double)evalue)); /* len in pixels */
+          if ( len>=(-63) && len<=255 ) { /* sanity check */
+            vrowspace[nrows] = len;	/* extra vspace before this row */
+	    strsqueezep(token,tokptr);	/* flush [len] from token */
+            tokptr=token; skipwhite(tokptr); } } /* reset ptr, skip white */
+        } /* --- end-of-if(*tokptr=='[') --- */
+      /* --- now check for \hline or \hdash --- */
       tokptr = texchar(tokptr,hltoken);	/* extract first char from token */
       hltoklen = strlen(hltoken);	/* length of first char */
       if ( hltoklen >= minhltoklen ) {	/*token must be at least \hl or \hd*/
@@ -9045,7 +10298,7 @@
 	    { istokwhite = 1;		/* so token contains \hline only */
 	      if ( iseox ) ishonly = 1; } /* ignore entire row at eox */
 	  else				/* token contains more than \hline */
-	    strcpy(token,tokptr); }	/* so flush \hline from token */
+	    {strsqueezep(token,tokptr);} } /* so flush \hline */
       } /* --- end-of-if(ncols[nrows]==0) --- */
     /* --- rasterize completed token --- */
     toksp[ntokens] = (istokwhite? NULL : /* don't rasterize empty token */
@@ -9073,8 +10326,9 @@
       } /* --- end-of-if(toksp[]!=NULL) --- */
     /* --- bump counters --- */
     if ( !ishonly )			/* don't count only an \hline */
-      {	ntokens++;			/* bump total token count */
-	ncols[nrows] += 1; }		/* and bump #cols in current row */
+      if ( ncols[nrows] < maxarraysz )	/* don't overflow arrays */
+	{ ntokens++;			/* bump total token count */
+	  ncols[nrows] += 1; }		/* and bump #cols in current row */
     /* --- get ready for next token --- */
     tokptr = token;			/* reset ptr for next token */
     istokwhite = 1;			/* next token starts all white */
@@ -9086,7 +10340,8 @@
     {
     maxcols = max2(maxcols,ncols[nrows]); /* max# cols in array */
     if ( ncols[nrows]>0 || hline[nrows]==0 ) /*ignore row with only \hline*/
-      nrows++;				/* bump row count */
+      if ( nrows < maxarraysz )		/* don't overflow arrays */
+        nrows++;			/* bump row count */
     ncols[nrows] = 0;			/* no cols in this row yet */
     if ( !iseox )			/* don't have a null yet */
       {	exprptr++;			/* bump past extra \ in \\ delim */
@@ -9133,6 +10388,7 @@
   fprintf(msgfp,"\nrastarray> %d rows, heights: ",nrows);
 for ( irow=0; irow<=nrows; irow++ )	/* and for each row */
   { height += rowheight[irow];		/*height of this row (0 for nrows)*/
+    height += vrowspace[irow];		/*plus extra //[len], if present*/
     height += hlinespace(irow);		/*plus space for hline, if present*/
     if ( msglevel>=29 && msgfp!=NULL )	/* debugging */
      fprintf(msgfp," %d=%2d+%d",irow+1,rowheight[irow],(hlinespace(irow))); }
@@ -9162,6 +10418,8 @@
       if ( irow >= nrows ) hrow = height-1; /* row for bottom hline */
       rule_raster(arrayrp,hrow,0,width,1,(hline[irow]<0?1:0)); } /* hline */
   if ( irow >= nrows ) break;		/*just needed \hline for irow=nrows*/
+  toprow += vrowspace[irow];		/* extra //[len] space above irow */
+  if ( toprow < 0 ) toprow = 0;		/* check for large negative [-len] */
   toprow += hlinespace(irow);		/* space for hline above irow */
   leftcol = 0;				/* start at leftmost column */
   for ( icol=0; icol<ncols[irow]; icol++ ) /* go through cells in this row */
@@ -9236,7 +10494,7 @@
  *				string immediately following \picture to be
  *				rasterized, and returning ptr immediately
  *				following last character processed.
- *		size (I)	int containing 0-4 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding \picture
  *				(unused, but passed for consistency)
@@ -9260,7 +10518,7 @@
 -------------------------------------------------------------------------- */
 char	*texsubexpr(), picexpr[2049], *picptr=picexpr, /* picture {expre} */
 	putexpr[256], *putptr,*multptr,	/*[multi]put (x,y[;xinc,yinc;num])*/
-	pream[64], *preptr,		/* optional put preamble */
+	pream[96], *preptr,		/* optional put preamble */
 	picelem[1025];			/* picture element following put */
 subraster   *rasterize(), *picelemsp=NULL, /* rasterize picture elements */
 	*new_subraster(), *picturesp=NULL, /* subraster for entire picture */
@@ -9268,13 +10526,13 @@
 raster	*picturerp=NULL;		/* raster for entire picture */
 int	delete_subraster();		/* free picelemsp[] workspace */
 int	pixsz = 1;			/* pixels are one bit each */
-double	strtod(),			/* convert ascii params to doubles */
-	x=0.0,y=0.0,			/* x,y-coords for put,multiput*/
+double	x=0.0,y=0.0,			/* x,y-coords for put,multiput*/
 	xinc=0.0,yinc=0.0;		/* x,y-incrementss for multiput*/
 int	width=0,  height=0,		/* #pixels width,height of picture */
 	ewidth=0, eheight=0,		/* pic element width,height */
 	ix=0,xpos=0, iy=0,ypos=0,	/* mimeTeX x,y pixel coords */
 	num=1, inum;			/* number reps, index of element */
+int	evalterm();			/* evaluate [arg] and {arg}'s */
 int	iscenter=0;			/* center or lowerleft put position*/
 int	*oldworkingparam = workingparam, /* save working param on entry */
 	origin = 0;			/* x,yinc ++=00 +-=01 -+=10 --=11 */
@@ -9289,9 +10547,9 @@
 /* --- now interpret width,height returned in putexpr --- */
 if ( (putptr=strchr(putexpr,',')) != NULL ) /* look for ',' in width,height*/
   *putptr = '\000';			/* found it, so replace ',' by '\0'*/
-width=height = iround(unitlength*strtod(putexpr,NULL)); /*width pixels*/
+width=height = eround(putexpr);		/*width pixels*/
 if ( putptr != NULL )			/* 2nd arg, if present, is height */
-  height = iround(unitlength*strtod(putptr+1,NULL)); /*in pixels*/
+  height = eround(putptr+1);		/*in pixels*/
 /* -------------------------------------------------------------------------
 Then obtain entire picture {...} subexpression following (width,height)
 -------------------------------------------------------------------------- */
@@ -9337,11 +10595,13 @@
   *pream = '\000';			/* init preamble as empty string */
   if ( (putptr=strchr(putexpr,'$')) != NULL ) /*check for $ pream terminator*/
     { *putptr++ = '\000';		/* replace $ by '\0', bump past $ */
-      strcpy(pream,putexpr); }		/* copy leading preamble from put */
+      strninit(pream,putexpr,92); }	/* copy leading preamble from put */
   else					/* look for any non-digit preamble */
-    { for ( preptr=pream,putptr=putexpr; ; putptr++ )
+    { int npream = 0;			/* #chars in preamble */
+      for ( preptr=pream,putptr=putexpr; ; npream++,putptr++ )
 	if ( *putptr == '\000'		/* end-of-putdata signalled */
-	||   !isalpha((int)(*putptr)) ) break; /* or found non-alpha char */
+	||   !isalpha((int)(*putptr))	/* or found non-alpha char */
+	||   npream > 92 ) break;	/* or preamble too long */
 	else *preptr++ = *putptr;	/* copy alpha char to preamble */
       *preptr = '\000'; }		/* null-terminate preamble */
   /* --- interpret preamble --- */
@@ -9356,16 +10616,17 @@
   if ( *putptr != '\000' )		/*check for put data after preamble*/
    {
    /* --- first squeeze preamble out of put expression --- */
-   if ( *pream != '\000' ) strcpy(putexpr,putptr); /* squeeze out preamble */
+   if ( *pream != '\000' )		/* have preamble */
+     {strsqueezep(putexpr,putptr);}	/* squeeze it out */
    /* --- interpret x,y --- */
    if ( (multptr=strchr(putexpr,';')) != NULL ) /*semicolon signals multiput*/
      *multptr = '\000';			/* replace semicolon by '\0' */
    if ( (putptr=strchr(putexpr,',')) != NULL ) /* comma separates x,y */
      *putptr = '\000';			/* replace comma by '\0'  */
    if ( *putexpr != '\000' )		/* leading , may be placeholder */
-     x = unitlength*strtod(putexpr,NULL); /* x coord in pixels*/
+     x = (double)(eround(putexpr));	/* x coord in pixels*/
    if ( putptr != NULL )		/* 2nd arg, if present, is y coord */
-     y = unitlength*strtod(putptr+1,NULL); /* in pixels */
+     y = (double)(eround(putptr+1));	/* in pixels */
    /* --- interpret xinc,yinc,num if we have a multiput --- */
    if ( multptr != NULL )		/* found ';' signalling multiput */
      {
@@ -9374,9 +10635,9 @@
      if ( (putptr=strchr(multptr+1,',')) != NULL ) /* ',' between xinc,yinc*/
        *putptr = '\000';		/* replace ',' by '\0' */
      if ( *(multptr+1) != '\000' )	/* leading , may be placeholder */
-       xinc = unitlength*strtod(multptr+1,NULL); /* xinc in pixels */
+       xinc = (double)(eround(multptr+1)); /* xinc in pixels */
      if ( putptr != NULL )		/* 2nd arg, if present, is yinc */
-       yinc = unitlength*strtod(putptr+1,NULL); /* in user pixels */
+       yinc = (double)(eround(putptr+1)); /* in user pixels */
      num = (preptr==NULL? 999 : atoi(preptr+1)); /*explicit num val or 999*/
      } /* --- end-of-if(multptr!=NULL) --- */
    } /* --- end-of-if(*preptr!='\000') --- */
@@ -9480,11 +10741,11 @@
 /*char	*origexpression = *expression;*/ /*original expression after \line*/
 int	pixsz = 1;			/* pixels are one bit each */
 int	thickness = 1;			/* line thickness */
-double	strtod(),			/* convert ascii params to doubles */
-	xinc=0.0, yinc=0.0,		/* x,y-increments for line, */
+double	xinc=0.0, yinc=0.0,		/* x,y-increments for line, */
 	xlen=0.0, ylen=0.0;		/* x,y lengths for line */
 int	width=0,  height=0,		/* #pixels width,height of line */
 	rwidth=0, rheight=0;		/*alloc width,height plus thickness*/
+int	evalterm();			/* evaluate [arg] and {arg}'s */
 int	istop=0,  isright=0,		/* origin at bot-left if x,yinc>=0 */
 	origin = 0;			/* x,yinc: ++=00 +-=01 -+=10 --=11 */
 int	line_raster();			/* draw line in linesp->image */
@@ -9497,13 +10758,13 @@
 /* --- now interpret xinc,yinc;thickness returned in linexpr --- */
 if ( (xptr=strchr(linexpr,';')) != NULL ) /* look for ';' after xinc,yinc */
   { *xptr = '\000';			/* terminate linexpr at ; */
-    thickness = (int)strtol(xptr+1,NULL,10); } /* get int thickness */
+    thickness = evalterm(mimestore,xptr+1); } /* get int thickness */
 if ( (xptr=strchr(linexpr,',')) != NULL ) /* look for ',' in xinc,yinc */
   *xptr = '\000';			/* found it, so replace ',' by '\0'*/
 if ( *linexpr != '\000' )		/* check against missing 1st arg */
-  xinc = xlen = strtod(linexpr,NULL);	/* xinc in user units */
+  xinc = xlen = (double)evalterm(mimestore,linexpr); /* xinc in user units */
 if ( xptr != NULL )			/* 2nd arg, if present, is yinc */
-  yinc = ylen = strtod(xptr+1,NULL);	/* in user units */
+  yinc = ylen = (double)evalterm(mimestore,xptr+1); /* in user units */
 /* -------------------------------------------------------------------------
 obtain optional {xlen} following (xinc,yinc), and calculate ylen
 -------------------------------------------------------------------------- */
@@ -9513,7 +10774,7 @@
   /* --- parse {xlen} and bump expression past it, interpret as double --- */
   *expression = texsubexpr(*expression,linexpr,253,"{","}",0,0);
   if ( *linexpr == '\000' ) goto end_of_job; /* couldn't get {xlen} */
-  xlen = strtod(linexpr,NULL);		/* xlen in user units */
+  xlen = (double)evalterm(mimestore,linexpr); /* xlen in user units */
   /* --- set other values accordingly --- */
   if ( xlen  < 0.0 ) xinc = -xinc;	/* if xlen negative, flip xinc sign*/
   if ( xinc != 0.0 ) ylen = xlen*yinc/xinc; /* set ylen from xlen and slope*/
@@ -9608,28 +10869,29 @@
 subraster *new_subraster(), *rulesp=NULL; /* subraster for rule */
 int	pixsz = 1;			/* pixels are one bit each */
 int	lift=0, width=0, height=0;	/* default rule parameters */
-double	strtod(), dval;			/* convert ascii params to doubles */
+double	dval;				/* convert ascii params to doubles */
 int	rwidth=0, rheight=0;		/* alloc width, height plus lift */
 int	rule_raster();			/* draw rule in rulesp->image */
+int	evalterm();			/* evaluate args */
 /* -------------------------------------------------------------------------
 Obtain lift,width,height
 -------------------------------------------------------------------------- */
 /* --- check for optional lift arg  --- */
 if ( *(*expression) == '[' )		/*check for []-enclosed optional arg*/
   { *expression = texsubexpr(*expression,rulexpr,255,"[","]",0,0);
-    dval = (int)(strtod(rulexpr,NULL)+0.5); /* convert [lift] to int */
+    dval = evalterm(mimestore,rulexpr);	/* convert [lift] to int */
     if ( dval <= 99 && dval >= (-99) )	/* sanity check */
       lift = iround(unitlength*dval); }	/* scale by unitlength and round */
 /* --- parse for width --- */
 *expression = texsubexpr(*expression,rulexpr,255,"{","}",0,0);
 if ( *rulexpr == '\000' ) goto end_of_job; /* quit if args missing */
-dval = (int)(strtod(rulexpr,NULL)+0.5);	/* convert {width} to int */
+dval = evalterm(mimestore,rulexpr);	/* convert {width} to int */
 if ( dval <= 500 && dval >= 0 )		/* sanity check */
   width = max2(0,iround(unitlength*dval)); /* scale by unitlength and round*/
 /* --- parse for height --- */
 *expression = texsubexpr(*expression,rulexpr,255,"{","}",0,0);
 if ( *rulexpr == '\000' ) goto end_of_job; /* quit if args missing */
-dval = (int)(strtod(rulexpr,NULL)+0.5);	/* convert {height} to int */
+dval = evalterm(mimestore,rulexpr);	/* convert {height} to int */
 if ( dval <= 500 && dval > 0 )		/* sanity check */
   height= max2(1,iround(unitlength*dval)); /* scale by unitlength and round*/
 /* --- raster width,height in pixels --- */
@@ -9676,7 +10938,7 @@
  *				string immediately following \circle to be
  *				rasterized, and returning ptr immediately
  *				following last character processed.
- *		size (I)	int containing 0-4 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding \circle
  *				(unused, but passed for consistency)
@@ -9703,10 +10965,10 @@
 double	theta0=0.0, theta1=0.0;		/* ;theta0,theta1 instead of ;quads*/
 subraster *new_subraster(), *circsp=NULL; /* subraster for ellipse */
 int	pixsz = 1;			/* pixels are one bit each */
-double	strtod(),			/* convert ascii params to doubles */
-	xdiam=0.0, ydiam=0.0;		/* x,y major/minor axes/diameters */
+double	xdiam=0.0, ydiam=0.0;		/* x,y major/minor axes/diameters */
 int	width=0,  height=0;		/* #pixels width,height of ellipse */
 int	thickness = 1;			/* drawn lines are one pixel thick */
+int	evalterm();			/* evaluate [arg],{arg} expressions*/
 int	origin = 55;			/* force origin centered */
 int	circle_raster(),		/* draw ellipse in circsp->image */
 	circle_recurse();		/* for theta0,theta1 args */
@@ -9714,16 +10976,16 @@
 obtain (xdiam[,ydiam]) arguments immediately following \circle command
 -------------------------------------------------------------------------- */
 /* --- parse for (xdiam[,ydiam]) args, and bump expression past it --- */
-*expression = texsubexpr(*expression,circexpr,511,"(",")",0,0);
+*expression = texsubexpr(*expression,circexpr,500,"(",")",0,0);
 if ( *circexpr == '\000' ) goto end_of_job; /* couldn't get (xdiam[,ydiam])*/
 /* --- now interpret xdiam[,ydiam] returned in circexpr --- */
 if ( (qptr=strchr(circexpr,';')) != NULL ) /* semicolon signals quads data */
   { *qptr = '\000';			/* replace semicolon by '\0' */
-    strcpy(quads,qptr+1);		/* save user-requested quads */
+    strninit(quads,qptr+1,128);		/* save user-requested quads */
     if ( (qptr=strchr(quads,',')) != NULL ) /* have theta0,theta1 instead */
       {	*qptr = '\000';			/* replace , with null */
-	theta0 = strtod(quads,NULL);	/* theta0 precedes , */
-	theta1 = strtod(qptr+1,NULL);	/* theta1 follows , */
+	theta0 = (double)evalterm(mimestore,quads);  /* theta0 precedes , */
+	theta1 = (double)evalterm(mimestore,qptr+1); /* theta1 follows , */
 	qptr = NULL; }			/* signal thetas instead of quads */
     else
 	qptr = quads; }			/* set qptr arg for circle_raster()*/
@@ -9731,9 +10993,10 @@
   qptr = quads;				/* default to all 4 quadrants */
 if ( (xptr=strchr(circexpr,',')) != NULL ) /* look for ',' in xdiam[,ydiam]*/
   *xptr = '\000';			/* found it, so replace ',' by '\0'*/
-xdiam = ydiam = strtod(circexpr,NULL);	/* xdiam=ydiam in user units */
+xdiam = ydiam =				/* xdiam=ydiam in user units */
+  (double)evalterm(mimestore,circexpr);	/* evaluate expression */
 if ( xptr != NULL )			/* 2nd arg, if present, is ydiam */
-  ydiam = strtod(xptr+1,NULL);		/* in user units */
+  ydiam = (double)evalterm(mimestore,xptr+1); /* in user units */
 /* -------------------------------------------------------------------------
 calculate width,height, etc
 -------------------------------------------------------------------------- */
@@ -9791,7 +11054,7 @@
  *				string immediately following \bezier to be
  *				rasterized, and returning ptr immediately
  *				following last character processed.
- *		size (I)	int containing 0-5 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding \bezier
  *				(unused, but passed for consistency)
@@ -9816,13 +11079,13 @@
 -------------------------------------------------------------------------- */
 subraster *new_subraster(), *bezsp=NULL; /* subraster for bezier */
 char	*texsubexpr(), bezexpr[129],*xptr=bezexpr; /*\bezier(r,c)(r,c)(r,c)*/
-double	strtod();			/* convert ascii params to doubles */
 double	r0=0.0,c0=0.0, r1=0.0,c1=0.0, rt=0.0,ct=0.0, /* bezier points */
 	rmid=0.0, cmid=0.0,		/* coords at parameterized midpoint*/
 	rmin=0.0, cmin=0.0,		/* minimum r,c */
 	rmax=0.0, cmax=0.0,		/* maximum r,c */
 	rdelta=0.0, cdelta=0.0,		/* rmax-rmin, cmax-cmin */
 	r=0.0, c=0.0;			/* some point */
+int	evalterm();			/* evaluate [arg],{arg} expressions*/
 int	iarg=0;				/* 0=r0,c0 1=r1,c1 2=rt,ct */
 int	width=0, height=0;		/* dimensions of bezier raster */
 int	pixsz = 1;			/* pixels are one bit each */
@@ -9841,8 +11104,10 @@
   c = r = 0.0;				/* init x-coord=col, y-coord=row */
   if ( (xptr=strchr(bezexpr,',')) != NULL ) /* comma separates row,col */
     { *xptr = '\000';			/* found it, so replace ',' by '\0'*/
-      r = unitlength*strtod(xptr+1,NULL); } /* row=y-coord in pixels */
-  c = unitlength*strtod(bezexpr,NULL);	/* col=x-coord in pixels */
+      /* --- row=y-coord in pixels --- */
+      r = unitlength*((double)evalterm(mimestore,xptr+1)); }
+  /* --- col=x-coord in pixels --- */
+  c = unitlength*((double)evalterm(mimestore,bezexpr));
   /* --- store r,c --- */
   switch ( iarg )
     { case 0: r0=r; c0=c; break;
@@ -9940,13 +11205,15 @@
 char	*texsubexpr(), subexpr[MAXSUBXSZ+1], *liftexpr=subexpr; /* args */
 subraster *rasterize(), *raisesp=NULL;	/* rasterize subexpr to be raised */
 int	lift=0;				/* amount to raise/lower baseline */
+int	evalterm();			/* evaluate [arg],{arg} expressions*/
 /* -------------------------------------------------------------------------
 obtain {lift} argument immediately following \raisebox command
 -------------------------------------------------------------------------- */
+rastlift = 0;				/* reset global lift adjustment */
 /* --- parse for {lift} arg, and bump expression past it --- */
 *expression = texsubexpr(*expression,liftexpr,0,"{","}",0,0);
 if ( *liftexpr == '\000' ) goto end_of_job; /* couldn't get {lift} */
-lift = (int)((unitlength*strtod(liftexpr,NULL))+0.0);	/*{lift} to integer*/
+lift = eround(liftexpr);		/* {lift} to integer */
 if ( abs(lift) > 200 ) lift=0;		/* sanity check */
 /* -------------------------------------------------------------------------
 obtain {subexpr} argument after {lift}, and rasterize it
@@ -9961,6 +11228,7 @@
 -------------------------------------------------------------------------- */
 /* --- raise/lower baseline --- */
 raisesp->baseline += lift;		/* new baseline (no height checks) */
+rastlift = lift;			/* set global to signal adjustment */
 /* --- return raised subexpr to caller --- */
 end_of_job:
   return ( raisesp );			/* return raised subexpr to caller */
@@ -10004,17 +11272,17 @@
 raster	*rastrot(), *rotrp=NULL;	/* rotate subraster->image 90 degs */
 int	delete_raster();		/* delete intermediate rasters */
 int	baseline=0;			/* baseline of rasterized image */
-double	strtod(),			/* convert ascii params to doubles */
-	degrees=0.0, ipart,fpart;	/* degrees to be rotated */
+double	degrees=0.0, ipart,fpart;	/* degrees to be rotated */
 int	idegrees=0, isneg=0;		/* positive ipart, isneg=1 if neg */
 int	n90=0, isn90=1;			/* degrees is n90 multiples of 90 */
+int	evalterm();			/* evaluate [arg],{arg} expressions*/
 /* -------------------------------------------------------------------------
 obtain {degrees} argument immediately following \rotatebox command
 -------------------------------------------------------------------------- */
 /* --- parse for {degrees} arg, and bump expression past it --- */
 *expression = texsubexpr(*expression,degexpr,0,"{","}",0,0);
 if ( *degexpr == '\000' ) goto end_of_job; /* couldn't get {degrees} */
-degrees = strtod(degexpr,NULL);		/* degrees to be rotated */
+degrees = (double)evalterm(mimestore,degexpr); /* degrees to be rotated */
 if ( degrees < 0.0 )			/* clockwise rotation desired */
   { degrees = -degrees;			/* flip sign so degrees positive */
     isneg = 1; }			/* and set flag to indicate flip */
@@ -10081,6 +11349,82 @@
 
 
 /* ==========================================================================
+ * Function:	rastmagnify ( expression, size, basesp, arg1, arg2, arg3 )
+ * Purpose:	\magnify{magstep}{subexpression} handler, returns subraster
+ *		containing magnified subexpression
+ * --------------------------------------------------------------------------
+ * Arguments:	expression (I/O) char **  to first char of null-terminated
+ *				string immediately following \reflectbox to
+ *				be rasterized, and returning ptr immediately
+ *				following last character processed.
+ *		size (I)	int containing 0-7 default font size
+ *		basesp (I)	subraster *  to character (or subexpression)
+ *				immediately preceding \reflectbox
+ *				(unused, but passed for consistency)
+ *		arg1 (I)	int unused
+ *		arg2 (I)	int unused
+ *		arg3 (I)	int unused
+ * --------------------------------------------------------------------------
+ * Returns:	( subraster * )	ptr to subraster corresponding to \magnify
+ *				requested, or NULL for any parsing error
+ * --------------------------------------------------------------------------
+ * Notes:     o	Summary of syntax...
+ *		  \magnify{magstep}{subexpression}
+ *	      o
+ * ======================================================================= */
+/* --- entry point --- */
+subraster *rastmagnify ( char **expression, int size, subraster *basesp,
+			int arg1, int arg2, int arg3 )
+{
+/* -------------------------------------------------------------------------
+Allocations and Declarations
+-------------------------------------------------------------------------- */
+char	*texsubexpr(), subexpr[MAXSUBXSZ+1], *magexpr=subexpr; /* args */
+subraster *rasterize(), *magsp=NULL;	/* subraster for magnified subexpr */
+raster	*rastmag(), *magrp=NULL;	/* magnify subraster->image */
+int	magstep = 1;			/* default magnification */
+int	delete_raster();		/* delete intermediate raster */
+int	baseline=0;			/* baseline of rasterized image */
+/* -------------------------------------------------------------------------
+obtain {magstep} argument immediately following \magnify command
+-------------------------------------------------------------------------- */
+/* --- parse for {magstep} arg, and bump expression past it --- */
+*expression = texsubexpr(*expression,magexpr,255,"{","}",0,0);
+magstep = atoi(magexpr);		/* convert {magstep} to int */
+if ( magstep<1 || magstep>10 )		/* check magstep input */
+  magstep = 1;				/* back to default if illegal */
+/* -------------------------------------------------------------------------
+obtain {subexpr} argument after {magstep}, and rasterize it
+-------------------------------------------------------------------------- */
+/* --- parse for {subexpr} arg, and bump expression past it --- */
+*expression = texsubexpr(*expression,subexpr,0,"{","}",0,0);
+/* --- rasterize subexpression to be reflected --- */
+if ( (magsp = rasterize(subexpr,size))	/* rasterize subexpression */
+==   NULL ) goto end_of_job;		/* and quit if failed */
+/* --- return unmodified image if no magnification requested --- */
+if ( magstep<=1 ) goto end_of_job;	/* don't bother magnifying image */
+/* --- extract params for image to be magnified --- */
+magrp = magsp->image;			/* unmagnified rasterized image */
+baseline = magsp->baseline;		/* and baseline of that image */
+/* -------------------------------------------------------------------------
+magnify image and adjust its parameters
+-------------------------------------------------------------------------- */
+/* --- magnify image --- */
+magrp = rastmag(magsp->image,magstep);	/* magnify raster image */
+if ( magrp == NULL ) goto end_of_job;	/* failed to magnify image */
+delete_raster(magsp->image);		/* free original raster image */
+magsp->image = magrp;			/*and replace it with magnified one*/
+/* --- adjust parameters --- */
+baseline *= magstep;			/* scale baseline */
+if ( baseline > 0 ) baseline += 1;	/* adjust for no descenders */
+magsp->baseline = baseline;		/*reset baseline of magnified image*/
+/* --- return magnified subexpr to caller --- */
+end_of_job:
+  return ( magsp );			/*back to caller with magnified expr*/
+} /* --- end-of-function rastmagnify() --- */
+
+
+/* ==========================================================================
  * Function:	rastreflect ( expression, size, basesp, arg1, arg2, arg3 )
  * Purpose:	\reflectbox[axis]{subexpression} handler, returns subraster
  *		containing subexpression reflected horizontally (i.e., around
@@ -10168,7 +11512,7 @@
  *				string immediately following \fbox to be
  *				rasterized, and returning ptr immediately
  *				following last character processed.
- *		size (I)	int containing 0-5 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding \fbox
  *				(unused, but passed for consistency)
@@ -10193,26 +11537,48 @@
 char	*texsubexpr(), subexpr[MAXSUBXSZ+1], widtharg[512]; /* args */
 subraster *rasterize(), *framesp=NULL;	/* rasterize subexpr to be framed */
 raster	*border_raster(), *bp=NULL;	/* framed image raster */
-double	strtod();			/* interpret [width][height] */
-int	fwidth=6, fthick=1;		/*extra frame width, line thickness*/
+int	evalterm(), evalue=0;		/* interpret [width][height] */
+int	fwidth=6, fthick=1,		/*extra frame width, line thickness*/
+	fsides=0;		/* frame sides: 1=left,2=top,4=right,8=bot */
 int	width=(-1), height=(-1),	/* optional [width][height] args */
 	iscompose = 0;			/* set true if optional args given */
 /* -------------------------------------------------------------------------
 obtain optional [width][height] arguments immediately following \fbox
 -------------------------------------------------------------------------- */
 /* --- first check for optional \fbox[width] --- */
-if ( *(*expression) == '[' )		/* check for []-enclosed width arg */
-  { *expression = texsubexpr(*expression,widtharg,511,"[","]",0,0);
-    if ( *widtharg != '\000' )		/* got widtharg */
-     { width = max2(1,iround(unitlength*strtod(widtharg,NULL)));
-       height = 1;  fwidth = 2; iscompose = 1; }
+if ( *(*expression) == '[' ) {		/* check for []-enclosed width arg */
+  *expression = texsubexpr(*expression,widtharg,511,"[","]",0,0);
+  if ( !isempty(widtharg) ) {		/* got widtharg */
+    char *comma = strchr(widtharg,',');	/* look for [width,sides] */
+    if ( comma == (char *)NULL )	/* no comma */
+      comma = strchr(widtharg,';');	/* permit semicolon [width;sides] */
+    if ( comma != (char *)NULL ) {	/* optional [width,fsides] found */
+      fsides = atoi(comma+1);		/* interpret fsides after comma */
+      if ( size < 5 )			/* for smaller fonts */
+        { fwidth = 2;  fthick = 1; }	/* tighten frame, thinner accent */
+      else { fwidth = 3;  fthick = 2; }	/* loosen frame, thicken accent */
+      *comma = '\000';			/* null-terminate width at comma */
+      trimwhite(widtharg); }		/*remove leading/trailing whitespace*/
+    if ( comma==(char *)NULL || !isempty(widtharg) ) { /* have a width */
+      height = 1;			/* default explicit height, too */
+      if ( fsides == 0 ) {		/* a normal framebox */
+	evalue = eround(widtharg);	/* interpret and scale width */
+        width = max2(1,evalue);		/* must be >0 */
+        fwidth = 2; iscompose = 1; }
+      else				/* absolute pixels for "accents" */
+	width = evalterm(mimestore,widtharg); }
+    } /* --- end-of-if(!isempty(widtharg)) --- */
   } /* --- end-of-if(**expression=='[') --- */
-if ( width > 0 )			/* found leading [width], so... */
+if ( width > 0 || fsides > 0)		/* found leading [width], so... */
  if ( *(*expression) == '[' )		/* check for []-enclosed height arg */
   { *expression = texsubexpr(*expression,widtharg,511,"[","]",0,0);
-    if ( *widtharg != '\000' )		/* got widtharg */
-     { height = max2(1,iround(unitlength*strtod(widtharg,NULL)));
-       fwidth = 0; }			/* no extra border */
+    if ( !isempty(widtharg) ) {		/* got widtharg */
+      if ( fsides == 0 ) {		/* a normal framebox */
+	evalue = eround(widtharg);	/* interpret and scale height */
+        height = max2(1,evalue);	/* must be >0 */
+        fwidth = 0; }			/* no extra border */
+      else				/* absolute pixels for "accents" */
+	height = evalterm(mimestore,widtharg); }
   } /* --- end-of-if(**expression=='[') --- */
 /* -------------------------------------------------------------------------
 obtain {subexpr} argument
@@ -10225,7 +11591,7 @@
     ==   NULL ) goto end_of_job; }	/* and quit if failed */
 else
   { char composexpr[8192];		/* compose subexpr with empty box */
-    sprintf(composexpr,"\\compose{\\hspace{%d}\\vspace{%d}}{%s}",
+    sprintf(composexpr,"\\compose{\\hspace{%d}\\vspace{%d}}{%.8000s}",
     width,height,subexpr);
     if ( (framesp = rasterize(composexpr,size)) /* rasterize subexpression */
     ==   NULL ) goto end_of_job; }	/* and quit if failed */
@@ -10233,6 +11599,7 @@
 draw frame, reset params, and return it to caller
 -------------------------------------------------------------------------- */
 /* --- draw border --- */
+if ( fsides > 0 ) fthick += (100*fsides); /* embed fsides in fthick arg */
 if ( (bp = border_raster(framesp->image,-fwidth,-fwidth,fthick,1))
 ==   NULL ) goto end_of_job;		/* draw border and quit if failed */
 /* --- replace original image and raise baseline to accommodate frame --- */
@@ -10256,7 +11623,7 @@
  *				string immediately following \input to be
  *				rasterized, and returning ptr immediately
  *				following last character processed.
- *		size (I)	int containing 0-5 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding \input
  *				(unused, but passed for consistency)
@@ -10268,7 +11635,9 @@
  *				in filename, or NULL for any parsing error
  * --------------------------------------------------------------------------
  * Notes:     o	Summary of syntax...
- *		  \input{filename}
+ *		  \input{filename}     reads entire file named filename
+ *		  \input{filename:tag} reads filename, but returns only
+ *		  those characters between <tag>...</tag> in that file.
  *	      o
  * ======================================================================= */
 /* --- entry point --- */
@@ -10282,6 +11651,10 @@
 subraster *rasterize(), *inputsp=NULL; /* rasterized input image */
 int	status, rastreadfile();	/* read input file */
 int	format=0, npts=0;	/* don't reformat (numerical) input */
+int	isinput = (seclevel<=inputseclevel?1:0); /*true if \input permitted*/
+/*int	evalterm();*/		/* evaluate expressions */
+char	*inputpath = INPUTPATH;	/* permitted \input{} paths for any user */
+int	isstrstr();		/* search for valid inputpath in filename */
 char	subexpr[MAXFILESZ+1] = "\000", /*concatanated lines from input file*/
 	*mimeprep(),		/* preprocess inputted data */
 	*dbltoa(), *reformat=NULL; /* reformat numerical input */
@@ -10291,34 +11664,56 @@
 /* --- parse for optional [tag] or [fmt] arg, bump expression past it --- */
 if ( *(*expression) == '[' )		/* check for []-enclosed value */
   { char argfld[MAXTOKNSZ+1];		/* optional argument field */
-    *expression = texsubexpr(*expression,argfld,MAXTOKNSZ,"[","]",0,0);
+    *expression = texsubexpr(*expression,argfld,MAXTOKNSZ-1,"[","]",0,0);
     if ( (reformat=strstr(argfld,"dtoa")) != NULL ) /*dtoa/dbltoa requested*/
       {	format = 1;			/* signal dtoa()/dbltoa() format */
 	if ( (reformat=strchr(reformat,'=')) != NULL ) /* have dtoa= */
 	  npts = (int)strtol(reformat+1,NULL,0); } /* so set npts */
-    if ( format == 0 )			/* reformat not requested */
-      strcpy(tag,argfld); }		/* so interpret arg as tag */
+    if ( format == 0 ) {		/* reformat not requested */
+      strninit(tag,argfld,1020); } }	/* so interpret arg as tag */
 /* --- parse for {filename} arg, and bump expression past it --- */
-*expression = texsubexpr(*expression,filename,1023,"{","}",0,0);
+*expression = texsubexpr(*expression,filename,1020,"{","}",0,0);
 /* --- check for alternate filename:tag --- */
-if ( *filename != '\000'		/* got filename */
-/*&& *tag == '\000'*/ )			/* but no [tag] */
+if ( !isempty(filename)			/* got filename */
+/*&& isempty(tag)*/ )			/* but no [tag] */
  { char	*delim = strchr(filename,':');	/* look for : in filename:tag */
    if ( delim != (char *)NULL )		/* found it */
     { *delim = '\000';			/* null-terminate filename at : */
-      strcpy(tag,delim+1); } }		/* and stuff after : is tag */
+      strninit(tag,delim+1,1020); } }	/* and stuff after : is tag */
+/* --- check filename for an inputpath valid for all users --- */
+if ( !isinput				/* if this user can't \input{} */
+&&   !isempty(filename)			/* and we got a filename */
+&&   !isempty(inputpath) )		/* and an inputpath */
+  if ( isstrstr(filename,inputpath,0) )	/* filename has allowed inputpath */
+    isinput = 1;			/* okay to \input{} this filename */
+/* --- guard against recursive runaway (e.g., file \input's itself) --- */
+if ( ++ninputcmds > 8 )			/* max \input's per expression */
+  isinput = 0;				/* flip flag off after the max */
+/* --------------------------------------------------------------------------
+Read file (and convert to numeric if [dtoa] option was given)
+-------------------------------------------------------------------------- */
+if ( isinput ) {			/* user permitted to use \input{} */
+  status = rastreadfile(filename,0,tag,subexpr); /* read file */
+  if ( *subexpr == '\000' ) goto end_of_job;   /* quit if problem */
+  /* --- rasterize input subexpression  --- */
+  mimeprep(subexpr);			/* preprocess subexpression */
+  if ( format == 1 ) {			/* dtoa()/dbltoa() */
+    double d = strtod(subexpr,NULL);	/* interpret subexpr as double */
+    if ( d != 0.0 )			/* conversion to double successful */
+      if ( (reformat=dbltoa(d,npts)) != NULL ) /* reformat successful */
+        strcpy(subexpr,reformat); }	/*replace subexpr with reformatted*/
+  } /* --- end-of-if(isinput) --- */
 /* --------------------------------------------------------------------------
-Read file and rasterize constructed subexpression
+emit error message for unauthorized users trying to use \input{}
+-------------------------------------------------------------------------- */
+else {					/* inputseclevel > seclevel */
+  sprintf(subexpr,
+  "\\ \\text{[\\backslash input\\lbrace %.128s\\rbrace\\ not permitted]}\\ ",
+  (isempty(filename)?"???":filename));
+  } /* --- end-of-if/else(isinput) --- */
+/* --------------------------------------------------------------------------
+Rasterize constructed subexpression
 -------------------------------------------------------------------------- */
-status = rastreadfile(filename,0,tag,subexpr); /* read file */
-if ( *subexpr == '\000' ) goto end_of_job;   /* quit if problem */
-/* --- rasterize input subexpression  --- */
-mimeprep(subexpr);			/* preprocess subexpression */
-if ( format == 1 )			/* dtoa()/dbltoa() */
- { double d = strtod(subexpr,NULL);	/* interpret subexpr as double */
-   if ( d != 0.0 )			/* conversion to double successful */
-    if ( (reformat=dbltoa(d,npts)) != NULL ) /* reformat successful */
-     strcpy(subexpr,reformat); }	/*replace subexpr with reformatted*/
 inputsp = rasterize(subexpr,size);	/* rasterize subexpression */
 /* --- return input image to caller --- */
 end_of_job:
@@ -10336,7 +11731,7 @@
  *				string immediately following \counter to be
  *				rasterized, and returning ptr immediately
  *				following last character processed.
- *		size (I)	int containing 0-5 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding \counter
  *				(unused, but passed for consistency)
@@ -10363,6 +11758,7 @@
 subraster *rasterize(), *countersp=NULL; /* rasterized counter image */
 FILE	/* *fp=NULL,*/ *logfp=NULL; /* counter and log file pointers */
 int	status=0,rastreadfile(),rastwritefile(), /*read,write counter file*/
+	iscounter = (seclevel<=counterseclevel?1:0), /*is \counter permitted*/
 	isstrict = 1;		/* true to only write to existing files */
 char	text[MAXFILESZ] = "1_",	/* only line in counter file without tags */
 	*delim = NULL,		/* delimiter in text */
@@ -10425,6 +11821,15 @@
   { *delim = '\000';			/* null-terminate filename at : */
     strcpy(tag,delim+1); }		/* and stuff after : is tag */
 /* --------------------------------------------------------------------------
+emit error message for unauthorized users trying to use \counter{}
+-------------------------------------------------------------------------- */
+if ( !iscounter ) {			/* counterseclevel > seclevel */
+ sprintf(text,
+ "\\ \\text{[\\backslash counter\\lbrace %.128s\\rbrace\\ not permitted]}\\ ",
+ (isempty(filename)?"???":filename));
+ goto rasterize_counter;		/* rasterize error message */
+ } /* --- end-of-if(!iscounter) --- */
+/* --------------------------------------------------------------------------
 Read and parse file, increment and rewrite counter (with optional underscore)
 -------------------------------------------------------------------------- */
 if ( strlen(filename) > 1 )		/* make sure we got {filename} arg */
@@ -10502,7 +11907,8 @@
     strcat(text,ordinal[ordindex]);	/* then st,nd,rd, or th */
     strcat(text,"}}"); }		/* finish with }} */
 /* --- rasterize it --- */
-countersp = rasterize(text,size);	/* rasterize counter subexpression */
+rasterize_counter:
+  countersp = rasterize(text,size);	/* rasterize counter subexpression */
 /* --- return counter image to caller --- */
 /*end_of_job:*/
   return ( countersp );			/* return counter image to caller */
@@ -10510,6 +11916,57 @@
 
 
 /* ==========================================================================
+ * Function:	rasteval ( expression, size, basesp, arg1, arg2, arg3 )
+ * Purpose:	handle \eval
+ * --------------------------------------------------------------------------
+ * Arguments:	expression (I/O) char **  to first char of null-terminated
+ *				string immediately following \eval,
+ *				and returning ptr immediately
+ *				following last character processed.
+ *		size (I)	int containing 0-7 default font size
+ *		basesp (I)	subraster *  to character (or subexpression)
+ *				immediately preceding \eval
+ *				(unused, but passed for consistency)
+ *		arg1 (I)	int unused
+ *		arg2 (I)	int unused
+ *		arg3 (I)	int unused
+ * --------------------------------------------------------------------------
+ * Returns:	( subraster * )	subraster ptr to date stamp
+ * --------------------------------------------------------------------------
+ * Notes:     o
+ * ======================================================================= */
+/* --- entry point --- */
+subraster *rasteval ( char **expression, int size, subraster *basesp,
+			int arg1, int arg2, int arg3 )
+{
+/* -------------------------------------------------------------------------
+Allocations and Declarations
+-------------------------------------------------------------------------- */
+char	*texsubexpr(), subexpr[MAXSUBXSZ]; /* arg to be evaluated */
+subraster *rasterize(), *evalsp=NULL;	/* rasterize evaluated expression */
+int	evalterm(), value=0;		/* evaluate expression */
+/* -------------------------------------------------------------------------
+Parse for subexpr to be \eval-uated, and bump expression past it
+-------------------------------------------------------------------------- */
+*expression = texsubexpr(*expression,subexpr,0,"{","}",0,0);
+if ( *subexpr == '\000' )		/* couldn't get subexpression */
+  goto end_of_job;			/* nothing to do, so quit */
+/* -------------------------------------------------------------------------
+Evaluate expression, ascii-ize integer result, rasterize it
+-------------------------------------------------------------------------- */
+/* --- evaluate expression --- */
+value = evalterm(mimestore,subexpr);	/* evaluate expression */
+/* --- ascii-ize it --- */
+sprintf(subexpr,"%d",value);		/* ascii version of value */
+/* --- rasterize ascii-ized expression value --- */
+evalsp = rasterize(subexpr,size);	/* rasterize evaluated expression */
+/* --- return evaluated expression raster to caller --- */
+end_of_job:
+  return ( evalsp );			/* return evaluated expr to caller */
+} /* --- end-of-function rasteval() --- */
+
+
+/* ==========================================================================
  * Function:	rasttoday ( expression, size, basesp, arg1, arg2, arg3 )
  * Purpose:	handle \today
  * --------------------------------------------------------------------------
@@ -10517,7 +11974,7 @@
  *				string immediately following \today,
  *				and returning ptr immediately
  *				following last character processed.
- *		size (I)	int containing 0-5 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding \today
  *				(unused, but passed for consistency)
@@ -10578,7 +12035,7 @@
  *				string immediately following \calendar
  *				and returning ptr immediately
  *				following last character processed.
- *		size (I)	int containing 0-5 default font size
+ *		size (I)	int containing 0-7 default font size
  *		basesp (I)	subraster *  to character (or subexpression)
  *				immediately preceding \calendar
  *				(unused, but passed for consistency)
@@ -10639,6 +12096,169 @@
 
 
 /* ==========================================================================
+ * Function:	rastenviron ( expression, size, basesp, arg1, arg2, arg3 )
+ * Purpose:	handle \environment
+ * --------------------------------------------------------------------------
+ * Arguments:	expression (I/O) char **  to first char of null-terminated
+ *				string immediately following \environment
+ *				and returning ptr immediately
+ *				following last character processed (in this
+ *				case, \environment takes no arguments, so
+ *				expression is returned unchanged).
+ *		size (I)	int containing 0-7 default font size
+ *		basesp (I)	subraster *  to character (or subexpression)
+ *				immediately preceding \environment
+ *				(unused, but passed for consistency)
+ *		arg1 (I)	int unused
+ *		arg2 (I)	int unused
+ *		arg3 (I)	int unused
+ * --------------------------------------------------------------------------
+ * Returns:	( subraster * )	subraster ptr to rendered environment image
+ * --------------------------------------------------------------------------
+ * Notes:     o
+ * ======================================================================= */
+/* --- entry point --- */
+subraster *rastenviron ( char **expression, int size, subraster *basesp,
+			int arg1, int arg2, int arg3 )
+{
+/* -------------------------------------------------------------------------
+Allocations and Declarations
+-------------------------------------------------------------------------- */
+char	*texsubexpr(), optarg[255];	/* optional [...] args (for future)*/
+char	environstr[8192] = "\000",	/* string for all environment vars */
+	environvar[1024] = "\000";	/* one environment variable */
+char	*strwrap(),			/* wrap long lines */
+	*strdetex(),			/* removes/replaces any math chars */
+	*environptr = NULL;		/* ptr to preprocessed environvar */
+char	*mimeprep();			/* preprocess environvar string */
+int	unescape_url();			/* convert all %xx's to chars */
+int	isenviron = (seclevel<=environseclevel?1:0); /*is \environ permitted*/
+int	maxvarlen = 512,		/* max chars in environment var */
+	maxenvlen = 6400,		/* max chars in entire string */
+	wraplen = 48;			/* strwrap() wrap lines at 48 chars*/
+int	ienv = 0;			/* environ[] index */
+subraster *rasterize(), *environsp=NULL; /* rasterize environment string */
+/* -------------------------------------------------------------------------
+Get args 
+-------------------------------------------------------------------------- */
+/* --- check for optional \environment args --- */
+if ( 1 )				/* there aren't any args (yet) */
+ if ( *(*expression) == '[' ) {		/* check for []-enclosed value */
+   *expression = texsubexpr(*expression,optarg,250,"[","]",0,0);
+   if ( *optarg != '\000' ) { ;		/* got optional arg, so process it */
+     wraplen = atoi(optarg);		/* interpret \environment[wraplen] */
+     if ( wraplen < 1 ) wraplen = 8;	/* set minimum */
+     } /* --- end-of-if(*optarg!='\0') --- */
+   } /* --- end-of-if(**expression=='[') --- */
+/* --------------------------------------------------------------------------
+emit error message for unauthorized users trying to use \environ
+-------------------------------------------------------------------------- */
+if ( !isenviron ) {			/* environseclevel > seclevel */
+  sprintf(environstr,
+  "\\ \\text{[\\backslash environment\\ not permitted]}\\ ");
+  goto rasterize_environ;		/* rasterize error message */
+  } /* --- end-of-if(!isenviron) --- */
+/* -------------------------------------------------------------------------
+Accumulate environment variables and rasterize string containing them
+-------------------------------------------------------------------------- */
+*environstr = '\000';			/* reset environment string */
+strcat(environstr,"\\nocaching\\fbox{\\normalsize\\text{"); /*init string*/
+for ( ienv=0; ; ienv++ ) {		/* loop over environ[] strings */
+  if ( environ[ienv] == (char *)NULL ) break; /* null terminates list */
+  if ( *(environ[ienv]) == '\000' ) break; /* double-check empty string */
+  strninit(environvar,environ[ienv],maxvarlen); /* max length displayed */
+  if ( strlen(environ[ienv]) > maxvarlen ) /* we truncated the variable */
+    strcat(environvar,"...");		/* so add an ellipsis */
+  unescape_url(environvar,0);		/* convert all %xx's to chars */
+  environptr = strdetex(environvar,1);	/* remove/replace any math chars */
+  strninit(environvar,environptr,maxvarlen); /*de-tex'ed/nomath environvar*/
+  environptr = strwrap(environvar,wraplen,-6); /* wrap long lines */
+  strninit(environvar,environptr,maxvarlen); /* line-wrapped environvar */
+  mimeprep(environvar);			/* preprocess environvar string */
+  if ( strlen(environstr) + strlen(environvar) > maxenvlen ) break;
+  sprintf(environstr+strlen(environstr), /* display environment string */
+  " %2d. %s\\\\\n", ienv+1,environvar);
+  if ( msgfp!= NULL && msglevel>=9 )
+    fprintf(msgfp,"rastenviron> %2d. %.256s\n",
+    ienv+1,/*environ[ienv]*/environvar);
+  if ( strlen(environstr) >= 7200 ) break; /* don't overflow buffer */
+  } /* --- end-of-for(ienv) --- */
+strcat(environstr,"}}");		/* end {\text{...}} mode */
+rasterize_environ:
+  environsp = rasterize(environstr,size); /* rasterize environment string */
+/* --- return environment raster to caller --- */
+/*end_of_job:*/
+  return ( environsp );			/* return environment to caller */
+} /* --- end-of-function rastenviron() --- */
+
+
+/* ==========================================================================
+ * Function:	rastmessage ( expression, size, basesp, arg1, arg2, arg3 )
+ * Purpose:	handle \message
+ * --------------------------------------------------------------------------
+ * Arguments:	expression (I/O) char **  to first char of null-terminated
+ *				string immediately following \message
+ *				and returning ptr immediately
+ *				following last character processed.
+ *		size (I)	int containing 0-7 default font size
+ *		basesp (I)	subraster *  to character (or subexpression)
+ *				immediately preceding \mesasge
+ *				(unused, but passed for consistency)
+ *		arg1 (I)	int unused
+ *		arg2 (I)	int unused
+ *		arg3 (I)	int unused
+ * --------------------------------------------------------------------------
+ * Returns:	( subraster * )	subraster ptr to rendered message image
+ * --------------------------------------------------------------------------
+ * Notes:     o
+ * ======================================================================= */
+/* --- entry point --- */
+subraster *rastmessage ( char **expression, int size, subraster *basesp,
+			int arg1, int arg2, int arg3 )
+{
+/* -------------------------------------------------------------------------
+Allocations and Declarations
+-------------------------------------------------------------------------- */
+char	*texsubexpr(), amsg[256]="\000"; /* message number text */
+int	imsg = 0;			/* default message number */
+char	msg[4096];
+subraster *rasterize(), *messagesp=NULL; /* rasterize requested message */
+int	strreplace();			/*replace SERVER_NAME in refmsgnum*/
+int	reflevels = REFLEVELS;		/* #topmost levels to match */
+char	*urlprune();			/*prune referer_match in refmsgnum*/
+char	*strdetex();			/* remove math chars from messages */
+char	*http_host    = getenv("HTTP_HOST"), /* http host for mimeTeX */
+	*server_name  = getenv("SERVER_NAME"), /* server hosting mimeTeX */
+	*referer_match = (!isempty(http_host)?http_host: /*match http_host*/
+	  (!isempty(server_name)?server_name:(NULL))); /* or server_name */
+/* -------------------------------------------------------------------------
+obtain message {amsg} argument
+-------------------------------------------------------------------------- */
+/* --- parse for {amsg} arg, and bump expression past it --- */
+*expression = texsubexpr(*expression,amsg,255,"{","}",0,0);
+/* --- interpret argument --- */
+if ( *amsg != '\000' ) {		/* got amsg arg */
+  imsg = atoi(amsg);			/* interpret as an int */
+  if ( imsg < 0				/* if too small */
+  ||   imsg > maxmsgnum )		/* or too big */
+    imsg = 0; }				/* default to first message */
+/* --- retrieve requested message --- */
+strninit(msg,msgtable[imsg],4095);	/* local copy of message */
+/* --- process as necessary --- */
+if ( imsg == refmsgnum) {		/* urlncmp() failed to validate */
+  if ( reflevels > 0 )			/* have #levels to validate */
+   strreplace(msg,"SERVER_NAME",	/* replace SERVER_NAME */
+    strdetex(urlprune(referer_match,reflevels),1),0); /*with referer_match*/
+  } /* --- end-of-switch(imsg) --- */
+/* --- rasterize requested message --- */
+messagesp = rasterize(msg,size);	/* rasterize message string */
+/* --- return message raster to caller --- */
+/*end_of_job:*/
+  return ( messagesp );			/* return message to caller */
+} /* --- end-of-function rastmessage() --- */
+
+
+/* ==========================================================================
  * Function:	rastnoop ( expression, size, basesp, nargs, arg2, arg3 )
  * Purpose:	no op -- flush \escape without error
  * --------------------------------------------------------------------------
@@ -10778,7 +12398,7 @@
 /* --- remove leading / and \ and dots (and blanks) --- */
 if ( *editname != '\000' )		/* still have chars in filename */
  while ( isthischar(*editname," ./\\") ) /* absolute paths invalid */
-   strcpy(editname,editname+1);		/* so flush leading / or \ (or ' ')*/
+   {strsqueeze(editname,1);}		/* so flush leading / or \ (or ' ')*/
 if ( *editname == '\000' ) goto end_of_job; /* no chars left in filename */
 /* --- remove leading or embedded ../'s and ..\'s --- */
 while ( strreplace(editname,"../",NULL,0) > 0 ) ;  /* squeeze out ../'s */
@@ -10862,7 +12482,8 @@
     case 0: status = 1; break;		/* no tag to look for */
     case 1:				/* looking for opening left <tag> */
       if ( (tagp=strstr(text,tag1)) == NULL ) break; /*haven't found it yet*/
-      strcpy(text,tagp+strlen(tag1));	/* shift out preceding text */
+      tagp += strlen(tag1);		/* first char past tag */
+      strsqueezep(text,tagp);		/*shift out preceding text and tag*/
       tagnum = 2;			/*now looking for closing right tag*/
     case 2:				/* looking for closing right </tag> */
       if ( (tagp=strstr(text,tag2)) == NULL ) break; /*haven't found it yet*/
@@ -10971,7 +12592,7 @@
   {
   /* --- preprocess filebuff --- */
   if ( tagp2 != (char *)NULL )		/* apparently have ...</tag> */
-    strcpy(filebuff,tagp2+tlen2);	/* so get rid of leading ...</tag> */
+    {strsqueezep(filebuff,tagp2+tlen2);} /* remove ...</tag> */
   if ( (flen = strlen(filebuff))	/* #chars currently in buffer */
   > 0 )					/* we have non-empty buffer */
    if (!isthischar(*(filebuff+flen-1),"\n\r")) /*no newline at end of file*/
@@ -11157,7 +12778,8 @@
 time_t	time_val = (time_t)(0);		/* binary value returned by time() */
 struct tm *tmstruct=(struct tm *)NULL, *localtime(); /* interpret time_val */
 int	year=0, hour=0,ispm=1,		/* adjust year, and set am/pm hour */
-	month=0, day=0;			/* adjust day and month for delta  */
+	month=0, day=0,			/* adjust day and month for delta  */
+	minute=0,second=0;		/* minute and second not adjusted  */
 int	tzadjust();			/* time zone adjustment function */
 int	daynumber();			/* #days since Jan 1, 1973 */
 static	char *daynames[] = { "Monday", "Tuesday", "Wednesday",
@@ -11178,6 +12800,8 @@
 month = (int)(tmstruct->tm_mon) + 1;	/* local copy of month, 1-12 */
 day   = (int)(tmstruct->tm_mday);	/* local copy of day,   1-31 */
 hour  = (int)(tmstruct->tm_hour);	/* local copy of hour,  0-23 */
+minute= (int)(tmstruct->tm_min);	/* local copy of minute,0-59 */
+second= (int)(tmstruct->tm_sec);	/* local copy of second,0-59 */
 /* --- adjust year --- */
 year += 1900;				/* set century in year */
 /* --- adjust for timezone --- */
@@ -11204,7 +12828,7 @@
   default:
   case 0:  /* --- 2005-03-05:11:49:59am --- */
     sprintf(timebuff,"%04d-%02d-%02d:%02d:%02d:%02d%s", year,month,day,
-    hour,(int)(tmstruct->tm_min),(int)(tmstruct->tm_sec),((ispm)?"pm":"am"));
+    hour,minute,second,((ispm)?"pm":"am"));
     break;
   case 1:  /* --- Saturday, March 5, 2005 --- */
     sprintf(timebuff,"%s, %s %d, %d",
@@ -11213,11 +12837,15 @@
   case 2: /* --- Saturday, March 5, 2005, 11:49:59am --- */
     sprintf(timebuff,"%s, %s %d, %d, %d:%02d:%02d%s",
     daynames[daynumber(year,month,day)%7],monthnames[month],day,year,
-    hour,(int)(tmstruct->tm_min),(int)(tmstruct->tm_sec),((ispm)?"pm":"am"));
+    hour,minute,second,((ispm)?"pm":"am"));
     break;
   case 3: /* --- 11:49:59am --- */
     sprintf(timebuff,"%d:%02d:%02d%s",
-    hour,(int)(tmstruct->tm_min),(int)(tmstruct->tm_sec),((ispm)?"pm":"am"));
+    hour,minute,second,((ispm)?"pm":"am"));
+    break;
+  case 4: /* --- 1231235959 (mmddhhmmss time as integer) --- */
+    sprintf(timebuff,"%d%02d%02d%02d%02d",
+    month,day,hour,minute,second);
     break;
   } /* --- end-of-switch(ifmt) --- */
 end_of_job:
@@ -11328,24 +12956,291 @@
 /* --------------------------------------------------------------------------
 Find #days since jan 1, 1973
 -------------------------------------------------------------------------- */
-/* --- figure #complete 4-year periods and #remaining yrs till current --- */
-nyears = year - year0;			/* #years since year0 */
-if ( nyears < 0 ) return ( -1 );	/* we're not working backwards */
-nfouryrs = nyears/4;			/* #complete four-year periods */
-nyears -= (4*nfouryrs); 		/* remainder excluding current year*/
-/* --- #days from jan 1, year0 till jan 1, this year --- */
-ndays = (days4yrs*nfouryrs)		/* #days in 4-yr periods */
-      +  (days1yr*nyears);		/* +remaining days */
-/*if ( year > 100 ) ndays--;*/		/* subtract leap year for 2000AD */
-/* --- add #days within current year --- */
-ndays += (modays[month-1] + (day-1));
-/* --- may need an extra day if current year is a leap year --- */
-if ( nyears == 3 )			/*three preceding yrs so this is 4th*/
-    { if ( month > 2 )			/* past feb so need an extra day */
-	/*if ( year != 100 )*/		/* unless it's 2000AD */
-	  ndays++; }			/* so add it in */
-return ( (int)(ndays) );		/* #days back to caller */
-} /* --- end-of-function daynumber() --- */
+/* --- figure #complete 4-year periods and #remaining yrs till current --- */
+nyears = year - year0;			/* #years since year0 */
+if ( nyears < 0 ) return ( -1 );	/* we're not working backwards */
+nfouryrs = nyears/4;			/* #complete four-year periods */
+nyears -= (4*nfouryrs); 		/* remainder excluding current year*/
+/* --- #days from jan 1, year0 till jan 1, this year --- */
+ndays = (days4yrs*nfouryrs)		/* #days in 4-yr periods */
+      +  (days1yr*nyears);		/* +remaining days */
+/*if ( year > 100 ) ndays--;*/		/* subtract leap year for 2000AD */
+/* --- add #days within current year --- */
+ndays += (modays[month-1] + (day-1));
+/* --- may need an extra day if current year is a leap year --- */
+if ( nyears == 3 )			/*three preceding yrs so this is 4th*/
+    { if ( month > 2 )			/* past feb so need an extra day */
+	/*if ( year != 100 )*/		/* unless it's 2000AD */
+	  ndays++; }			/* so add it in */
+return ( (int)(ndays) );		/* #days back to caller */
+} /* --- end-of-function daynumber() --- */
+
+
+/* ==========================================================================
+ * Function:	strwrap ( s, linelen, tablen )
+ * Purpose:	Inserts \n's and spaces in (a copy of) s to wrap lines
+ *		at linelen and indent them by tablen.
+ * --------------------------------------------------------------------------
+ * Arguments:	s (I)		char * to null-terminated string
+ *				to be wrapped.
+ *		linelen (I)	int containing maximum linelen
+ *				between \\'s.
+ *		tablen (I)	int containing number of spaces to indent
+ *				lines.  0=no indent.  Positive means
+ *				only indent first line and not others.
+ *				Negative means indent all lines except first.
+ * --------------------------------------------------------------------------
+ * Returns:	( char * )	ptr to "line-wrapped" copy of s
+ *				or "" (empty string) for any error.
+ * --------------------------------------------------------------------------
+ * Notes:     o	The returned copy of s has embedded \\'s as necessary
+ *		to wrap lines at linelen.  Any \\'s in the input copy
+ *		are removed first.  If (and only if) the input s contains
+ *		a terminating \\ then so does the returned copy.
+ *	      o	The returned pointer addresses a static buffer,
+ *		so don't call strwrap() again until you're finished
+ *		with output from the preceding call.
+ *	      o	Modified for mimetex from original version written
+ *		for mathtex (where \n in verbatim mode instead of \\
+ *		produced linebreaks).
+ * ======================================================================= */
+/* --- entry point --- */
+char	*strwrap ( char *s, int linelen, int tablen )
+{
+/* -------------------------------------------------------------------------
+Allocations and Declarations
+-------------------------------------------------------------------------- */
+static	char sbuff[4096];		/* line-wrapped copy of s */
+char	*sol = sbuff;			/* ptr to start of current line*/
+char	tab[32] = "                 ";	/* tab string */
+int	strreplace();			/* remove \n's */
+char	*strchange();			/* add \n's and indent space */
+int	finalnewline = (lastchar(s)=='\n'?1:0); /*newline at end of string?*/
+int	istab = (tablen>0?1:0),		/* init true to indent first line */
+	iswhite = 0;			/* true if line break on whitespace*/
+int	rhslen  = 0,			/* remaining right hand side length*/
+	thislen = 0,			/* length of current line segment */
+	thistab = 0,			/* length of tab on current line */
+	wordlen = 0;			/* length to next whitespace char */
+/* -------------------------------------------------------------------------
+Make a clean copy of s
+-------------------------------------------------------------------------- */
+/* --- check input --- */
+*sbuff = '\000';			/* initialize in case of error */
+if ( isempty(s) ) goto end_of_job;	/* no input */
+if ( tablen < 0 ) tablen = (-tablen);	/* set positive tablen */
+if ( tablen >= linelen ) tablen = linelen-1; /* tab was longer than line */
+tab[min2(tablen,16)] = '\000';		/* null-terminate tab string */
+tablen = strlen(tab);			/* reset to actual tab length */
+finalnewline = 0;			/* turned off for mimetex version */
+/* --- start with copy of s --- */
+strninit(sbuff,s,3000);			/* leave room for \n's and tabs */
+if ( linelen < 1 ) goto end_of_job;	/* can't do anything */
+trimwhite(sbuff);			/*remove leading/trailing whitespace*/
+strreplace(sbuff,"\n"," ",0);		/* remove any original \n's */
+strreplace(sbuff,"\r"," ",0);		/* remove any original \r's */
+strreplace(sbuff,"\t"," ",0);		/* remove any original \t's */
+strreplace(sbuff,"\f"," ",0);		/* remove any original \f's */
+strreplace(sbuff,"\v"," ",0);		/* remove any original \v's */
+strreplace(sbuff,"\\\\"," ",0);		/* remove any original \\'s */
+/* -------------------------------------------------------------------------
+Insert \\'s and spaces as needed
+-------------------------------------------------------------------------- */
+while ( 1 ) {				/* till end-of-line */
+  /* --- init --- */
+  trimwhite(sol);			/*remove leading/trailing whitespace*/
+  thislen = thistab = 0;		/* no chars in current line yet */
+  if ( istab && tablen>0 ) {		/* need to indent this line */
+    strchange(0,sol,tab);		/* insert indent at start of line */
+    thistab = tablen; }			/* line starts with whitespace tab */
+  if ( sol == sbuff ) istab = 1-istab;	/* flip tab flag after first line */
+  sol += thistab;			/* skip tab */
+  rhslen = strlen(sol);			/* remaining right hand side chars */
+  if ( rhslen+thistab <= linelen ) break; /* no more \\'s needed */
+  if ( 0 && msgfp!=NULL && msglevel >= 99 ) {
+    fprintf(msgfp,"strwrap> rhslen=%d, sol=\"\"%s\"\"\n",rhslen,sol);
+    fflush(msgfp); }
+  /* --- look for last whitespace preceding linelen --- */
+  while ( 1 ) {				/* till we exceed linelen */
+    wordlen = strcspn(sol+thislen," \t\n\r\f\v :;.,"); /*ptr to next white/break*/
+    if ( sol[thislen+wordlen] == '\000' ) /* no more whitespace in string */
+      goto end_of_job;			/* so nothing more we can do */
+    if ( thislen+thistab+wordlen >= linelen ) /* next word won't fit */
+      if ( thislen > 0 ) break;		/* but make sure line has one word */
+    thislen += (wordlen+1); }		/* ptr past next whitespace char */
+  if ( thislen < 1 ) break;		/* line will have one too-long word*/
+  /*sol[thislen-1] = '\n';*/		/* replace last space with newline */
+  /*sol += thislen;*/			/* next line starts after newline */
+  iswhite = (isthischar(sol[thislen-1],":;.,")?0:1); /*linebreak on space?*/
+  strchange(iswhite,sol+thislen-iswhite,"\\\\"); /* put \\ at end of line */
+  sol += (thislen+2-iswhite);		/* next line starts after \\ */
+  } /* --- end-of-while(1) --- */
+end_of_job:
+  if ( finalnewline ) strcat(sbuff,"\\\\"); /* replace final newline */
+  return ( sbuff );			/* back with clean copy of s */
+} /* --- end-of-function strwrap() --- */
+
+
+/* ==========================================================================
+ * Function:	strnlower ( s, n )
+ * Purpose:	lowercase the first n chars of string s
+ * --------------------------------------------------------------------------
+ * Arguments:	s (I/O)		(char *)pointer to null-terminated string
+ *				whose chars are to be lowercased
+ *		n (I)		int containing max number of chars to be
+ *				lowercased (less than n will be lowercased
+ *				if terminating '\000' found first)
+ *				If n<=0 (or n>=strlen(s)) then the entire
+ *				string s will be lowercased
+ * --------------------------------------------------------------------------
+ * Returns:	( char * )	s (always same as input)
+ * --------------------------------------------------------------------------
+ * Notes:     o
+ * ======================================================================= */
+/* --- entry point --- */
+char	*strnlower ( char *s, int n )
+{
+/* -------------------------------------------------------------------------
+lowercase s
+-------------------------------------------------------------------------- */
+char	*p = s;				/* save s for return to caller */
+if ( !isempty(s) )			/* check for valid input */
+  while ( *p != '\000' ) {		/* lowercase each char till end */
+    *p = tolower(*p);			/* lowercase this char */
+    if ( n > 0 )			/* only lowercase first n chars */
+      if ( --n < 1 ) break;		/* quit when we're done */
+    p++; }				/* proceed to next char */
+return ( s );				/* back to caller with s */
+} /* --- end-of-function strnlower() --- */
+
+
+/* ==========================================================================
+ * Function:	urlprune ( url, n )
+ * Purpose:	Prune http://abc.def.ghi.com/etc into abc.def.ghi.com
+ *		(if n=2 only ghi.com is returned, or if n=-1 only "ghi")
+ * --------------------------------------------------------------------------
+ * Arguments:	url (I)		char * to null-terminated string
+ *				containing url to be pruned
+ *		n (i)		int containing number of levels retained
+ *				in pruned url.  If n<0 its abs() is used,
+ *				but the topmost level (usually .com, .org,
+ *				etc) is omitted.  That is, if n=2 would
+ *				return "ghi.com" then n=-1 returns "ghi".
+ *				n=0 retains all levels.
+ * --------------------------------------------------------------------------
+ * Returns:	( char * )	pointer to (static) null-terminated string
+ *				containing pruned url with the first n
+ *				top-level domain, e.g., for n=2,
+ *				http://abc.def.ghi.com/etc returns ghi.com,
+ *				or an empty string "\000" for any error
+ * --------------------------------------------------------------------------
+ * Notes:     o
+ * ======================================================================= */
+/* --- entry point --- */
+char	*urlprune ( char *url, int n )
+{
+/* -------------------------------------------------------------------------
+Allocations and Declarations
+-------------------------------------------------------------------------- */
+static	char pruned[2048];		/* pruned url returned to caller */
+char	*purl = /*NULL*/pruned;		/* ptr to pruned, init for error */
+char	*delim = NULL;			/* delimiter separating components */
+char	*strnlower();			/* lowercase a string */
+int	istruncate = (n<0?1:0);		/*true to truncate .com from pruned*/
+int	ndots = 0;			/* number of dots found in url */
+/* -------------------------------------------------------------------------
+prune the url
+-------------------------------------------------------------------------- */
+/* --- first check input --- */
+*pruned = '\000';			/* init for error */
+if ( isempty(url) ) goto end_of_job;	/* missing input, so return NULL */
+if ( n < 0 ) n = (-n);			/* flip n positive */
+if ( n == 0 ) n = 999;			/* retain all levels of url */
+/* --- preprocess url --- */
+strninit(pruned,url,2032);		/* copy url to our static buffer */
+strlower(pruned);			/* lowercase it and... */
+trimwhite(pruned);			/*remove leading/trailing whitespace*/
+/* --- first remove leading http:// --- */
+if ( (delim=strstr(pruned,"://")) != NULL ) /* found http:// or ftp:// etc */
+  if ( ((int)(delim-pruned)) <= 8 ) {	/* make sure it's a prefix */
+    strsqueezep(pruned,delim+3);	/* squeeze out leading http:// */
+    trimwhite(pruned); }		/*remove leading/trailing whitespace*/
+/* --- next remove leading www. --- */
+if ( (delim=strstr(pruned,"www.")) != NULL ) /* found www. */
+  if ( ((int)(delim-pruned)) == 0 ) {	/* make sure it's the leading chars*/
+    strsqueezep(pruned,delim+4);	/* squeeze out leading www. */
+    trimwhite(pruned); }		/*remove leading/trailing whitespace*/
+/* --- finally remove leading / and everything following it --- */
+if ( (delim=strchr(pruned,'/')) != NULL ) /* found first / */
+  *delim = '\000';			/* null-terminate url at first / */
+if ( isempty(pruned) ) goto end_of_job;	/* nothing left in url */
+/* --- count dots from back of url --- */
+delim = pruned + strlen(pruned);	/*ptr to '\000' terminating pruned*/
+while ( ((int)(delim-pruned)) > 0 ) {	/* don't back up before first char */
+  delim--;				/* ptr to preceding character */
+  if ( *delim != '.' ) continue;	/* not a dot, so keep looking */
+  ndots++;				/* count another dot found */
+  if ( istruncate ) {			/* remove trailing .com */
+    istruncate = 0;			/* don't truncate any more dots */
+    *delim = '\000';			/* truncate pruned url */
+    ndots = 0; }			/* and reset dot count */
+  if ( ndots >= n ) {			/* have all requested levels */
+    strsqueezep(pruned,delim+1);	/* squeeze out leading levels */
+    break; }				/* and we're done */
+  } /* --- end-of-while() --- */
+purl = pruned;				/*completed okay, return pruned url*/
+end_of_job:
+  return ( purl );			/* back with pruned url */
+} /* --- end-of-function urlprune() --- */
+
+
+/* ==========================================================================
+ * Function:	urlncmp ( url1, url2, n )
+ * Purpose:	Compares the n topmost levels of two urls
+ * --------------------------------------------------------------------------
+ * Arguments:	url1 (I)	char * to null-terminated string
+ *				containing url to be compared with url2
+ *		url2 (I)	char * to null-terminated string
+ *				containing url to be compared with url1
+ *		n (I)		int containing number of top levels
+ *				to compare, or 0 to compare them all.
+ *				n<0 compares that many top levels excluding
+ *				the last, i.e., for n=-1, xxx.com and xxx.org
+ *				would be considered a match
+ * --------------------------------------------------------------------------
+ * Returns:	( int )		1 if url's match, or
+ *				0 if not.
+ * --------------------------------------------------------------------------
+ * Notes:     o
+ * ======================================================================= */
+/* --- entry point --- */
+int	urlncmp ( char *url1, char *url2, int n )
+{
+/* -------------------------------------------------------------------------
+Allocations and Declarations
+-------------------------------------------------------------------------- */
+char	*urlprune(), *prune=NULL,	/* prune url's */
+	prune1[4096], prune2[4096];	/* pruned copies of url1,url2 */
+int	ismatch = 0;			/* true if url's match */
+/* -------------------------------------------------------------------------
+prune url's and compare the pruned results
+-------------------------------------------------------------------------- */
+/* --- check input --- */
+if ( isempty(url1)			/*make sure both url1,url2 supplied*/
+||   isempty(url2) ) goto end_of_job;	/* missing input, so return 0 */
+/* --- prune url's --- */
+prune = urlprune(url1,n);		/* ptr to pruned version of url1 */
+if ( isempty(prune) ) goto end_of_job;	/* some problem with url1 */
+strninit(prune1,prune,4064);		/* local copy of pruned url1 */
+prune = urlprune(url2,n);		/* ptr to pruned version of url2 */
+if ( isempty(prune) ) goto end_of_job;	/* some problem with url2 */
+strninit(prune2,prune,4064);		/* local copy of pruned url2 */
+/* --- compare pruned url's --- */
+if ( strcmp(prune1,prune2) == 0 )	/* pruned url's are identical */
+  ismatch = 1;				/* signal match to caller */
+end_of_job:
+  return ( ismatch );			/*back with #matching url components*/
+} /* --- end-of-function urlncmp() --- */
 
 
 /* ==========================================================================
@@ -12399,6 +14294,10 @@
 /* --- check input --- */
 if ( irow<0 || irow>=height		/* irow out-of-bounds */
 ||   icol<0 || icol>=width ) goto end_of_job; /* icol out-of-bounds */
+/* --- adjust maxturn for magstep --- */
+if ( 1 )				/* guard */
+  if ( magstep > 1 && magstep <= 10 )	/* sanity check */
+    maxturn *= magstep;			/* factor in magnification */
 /* --- starting bit -- see if we're following a fg (usual), or bg line --- */
 bitval = getlongbit(bitmap,(icol+irow*width)); /* starting pixel (bg or fg)*/
 fgval = bitval;  bgval = (1-bitval);	/* define "fg" as whatever bitval is*/
@@ -13063,7 +14962,7 @@
  * Function:	aacolormap ( bytemap, nbytes, colors, colormap )
  * Purpose:	searches bytemap, returning a list of its discrete values
  *		in ascending order in colors[], and returning an "image"
- *		of bytemap (where vales are replaced by colors[]
+ *		of bytemap (where values are replaced by colors[]
  *		indexes) in colormap[].
  * --------------------------------------------------------------------------
  * Arguments:	bytemap (I)	intbyte *  to bytemap containing
@@ -13442,6 +15341,9 @@
 -------------------------------------------------------------------------- */
 GLOBAL(raster,*bitmap_raster,NULL);	/* use 0/1 bitmap image or */
 GLOBAL(intbyte,*colormap_raster,NULL);	/* anti-aliased color indexes */
+GLOBAL(int,raster_width,0);		/* width of final/displayed image */
+GLOBAL(int,raster_height,0);		/* height of final/displayed image */
+GLOBAL(int,raster_baseline,0);		/* baseline of final/displayed image*/
 /* --- anti-aliasing flags (needed by GetPixel() as well as main()) --- */
 #ifdef AA				/* if anti-aliasing requested */
   #define ISAAVALUE 1			/* turn flag on */
@@ -13481,31 +15383,6 @@
 #endif
   ;
 
-/* -------------------------------------------------------------------------
-messages
--------------------------------------------------------------------------- */
-static	char *copyright =		/* copyright, gnu/gpl notice */
- "+-----------------------------------------------------------------------+\n"
- "|mimeTeX vers 1.70, Copyright(c) 2002-2008, John Forkosh Associates, Inc|\n"
- "+-----------------------------------------------------------------------+\n"
- "| mimeTeX is free software, licensed to you under terms of the GNU/GPL, |\n"
- "|           and comes with absolutely no warranty whatsoever.           |\n"
- "+-----------------------------------------------------------------------+";
-static	int maxmsgnum = 2;		/* maximum msgtable[] index */
-static	char *msgtable[] = {		/* messages referenced by [index] */
- "\\red\\small\\rm\\fbox{\\array{"	/* [0] is invalid_referer_msg */
-   "Please~read~www.forkosh.com/mimetex.html\\\\and~install~mimetex.cgi~"
-   "on~your~own~server.\\\\Thank~you,~John~Forkosh}}",
- "\\red\\small\\rm\\fbox{\\array{"	/* [1] */
-   "Please~provide~your~{\\tiny~HTTP-REFERER}~to~access~the~public\\\\"
-   "mimetex~server.~~Or~please~read~~www.forkosh.com/mimetex.html\\\\"
-   "and~install~mimetex.cgi~on~your~own~server.~~Thank~you,~John~Forkosh}}",
- "\\red\\small\\rm\\fbox{\\array{"	/* [2] */
-   "The~public~mimetex~server~is~for~testing.~~For~production,\\\\"
-   "please~read~~www.forkosh.com/mimetex.html~~and~install\\\\"
-   "mimetex.cgi~on~your~own~server.~~Thank~you,~John~Forkosh}}",
- NULL } ;				/* trailer */
-
 
 /* --- entry point --- */
 int	main ( int argc, char *argv[]
@@ -13541,14 +15418,22 @@
 	xbitmap_raster();		/* mime xbitmap output function */
 /* --- http_referer --- */
 char	*referer = REFERER;		/* http_referer must contain this */
+char	*inputreferer = INPUTREFERER;	/*http_referer's permitted to \input*/
+int	reflevels = REFLEVELS, urlncmp(); /* cmp http_referer,server_name */
+int	strreplace();			/* replace SERVER_NAME in errmsg */
+char	*urlprune();			/* prune referer_match */
 struct	{ char *referer; int msgnum; }	/* http_referer can't contain this */
 	denyreferer[] = {		/* referer table to deny access to */
 	#ifdef DENYREFERER
 	  #include DENYREFERER		/* e.g.,  {"",1},  for no referer */
 	#endif
 	{ NULL, -999 } };		/* trailer */
-char	*http_referer = getenv("HTTP_REFERER"); /* referer using mimeTeX */
-int	ishttpreferer = (http_referer==NULL?0:(*http_referer=='\000'?0:1));
+char	*http_referer = getenv("HTTP_REFERER"), /* referer using mimeTeX */
+	*http_host    = getenv("HTTP_HOST"), /* http host for mimeTeX */
+	*server_name  = getenv("SERVER_NAME"), /* server hosting mimeTeX */
+	*referer_match = (!isempty(http_host)?http_host: /*match http_host*/
+	  (!isempty(server_name)?server_name:(NULL))); /* or server_name */
+int	ishttpreferer = (isempty(http_referer)?0:1);
 int	isstrstr();			/* search http_referer for referer */
 int	isinvalidreferer = 0;		/* true for inavlid referer */
 int	norefmaxlen = NOREFMAXLEN;	/*max query_string len if no referer*/
@@ -13576,16 +15461,22 @@
 int	ncolors=2,			/* #colors (2=b&w) */
 	aacolormap();			/* build colormap from bytemap */
 int	ipattern;			/*patternnumcount[] index diagnostic*/
+/* --- advertisement preprocessing --- */
+int	advertisement(), crc16();	/*wrap expression in advertisement*/
+char	*adtemplate = NULL;		/* usually use default message */
+char	*host_showad = HOST_SHOWAD;	/* show ads only on this host */
 /* --- messages --- */
 char	logfile[256] = LOGFILE,		/*log queries if msglevel>=LOGLEVEL*/
 	cachelog[256] = CACHELOG;	/* cached image log in cachepath/ */
 char	*timestamp();			/* time stamp for logged messages */
+char	*strdetex();			/* remove math chars from messages */
 int	logger();			/* logs environ variables */
 int	ismonth();			/* check argv[0] for current month */
 char	*progname = (argc>0?argv[0]:"noname"); /* name program executed as */
 char	*dashes =			/* separates logfile entries */
  "--------------------------------------------------------------------------";
-char	*invalid_referer_msg = msgtable[0]; /* msg to invalid http_referer */
+char	*invalid_referer_msg = msgtable[invmsgnum]; /*msg to invalid referer*/
+char	*invalid_referer_match = msgtable[refmsgnum]; /*referer isn't host*/
 /* -------------------------------------------------------------------------
 initialization
 -------------------------------------------------------------------------- */
@@ -13594,17 +15485,25 @@
   system(SYSTEM);
 #endif
 /* --- set global variables --- */
+daemonlevel++;				/* signal other funcs to reset */
 msgfp = stdout;				/* for comamnd-line mode output */
 isss = issupersampling;			/* set supersampling flag */
 isemitcontenttype = 1;			/* true to emit mime content-type */
 iscachecontenttype = 0;			/* true to cache mime content-type */
 *contenttype = '\000';			/* reset content-type:, etc. cache */
+isnomath = 0;				/* true to inhibit math mode */
+seclevel = SECURITY;			/* overall security level */
+inputseclevel = INPUTSECURITY;		/* security level for \input{} */
+counterseclevel = COUNTERSECURITY;	/* security level for \counter{} */
+environseclevel = ENVIRONSECURITY;	/* security level for \environ */
+ninputcmds = 0;				/* reset count of \input commands */
+exitstatus=0; errorstatus=ERRORSTATUS;	/* reset exit/error status */
 iscaching = ISCACHING;			/* true if caching images */
 if ( iscaching ) {			/* images are being cached */
   strcpy(cachepath,CACHEPATH);		/* relative path to cached files */
   if ( *cachepath == '%' ) {		/* leading % signals cache headers */
     iscachecontenttype = 1;		/* signal caching mime content-type*/
-    strcpy(cachepath,cachepath+1); } }	/* and squeeze out leading % char */
+    strsqueeze(cachepath,1); } }	/* and squeeze out leading % char */
 gifSize = 0;				/* signal that image not in memory */
 fgred=FGRED; fggreen=FGGREEN; fgblue=FGBLUE; /* default foreground colors */
 bgred=BGRED; bggreen=BGGREEN; bgblue=BGBLUE; /* default background colors */
@@ -13615,20 +15514,23 @@
  * check QUERY_STRING query for expression overriding command-line arg
  * ------------------------------------------------------------------- */
 if ( query != NULL )			/* check query string from environ */
-  if ( strlen(query) >= 1 )		/* caller gave us a query string */
-    { strncpy(expression,query,MAXEXPRSZ); /* so use it as expression */
-      expression[MAXEXPRSZ] = '\000';	/* make sure it's null terminated */
-      if ( 0 )				/*true to remove leading whitespace*/
-        while ( isspace(*expression) && *expression!='\000' )
-          strcpy(expression,expression+1); /* squeeze out white space */
-      isquery = 1; }			/* and set isquery flag */
-if ( !isquery )				/* empty query string */
-  { char *host = getenv("HTTP_HOST"),	/* additional getenv("") results */
-    *name = getenv("SERVER_NAME"), *addr = getenv("SERVER_ADDR");
-    if ( host!=NULL || name!=NULL || addr!=NULL ) /* assume http query */
-      {	isquery = 1;			/* set flag to signal query */
-	strcpy(expression,"\\red\\small\\fbox{\\rm~no~query~string}"); }
-    isqempty = 1;			/* signal empty query string */
+  if ( strlen(query) >= 1 ) {		/* caller gave us a query string */
+    strncpy(expression,query,MAXEXPRSZ); /* so use it as expression */
+    expression[MAXEXPRSZ] = '\000';	/* make sure it's null terminated */
+    if ( 0 )				/*true to remove leading whitespace*/
+      while ( isspace(*expression) && *expression!='\000' )
+        {strsqueeze(expression,1);}	/* squeeze out white space */
+    isquery = 1; }			/* and set isquery flag */
+if ( !isquery ) {			/* empty query string */
+  char *host = getenv("HTTP_HOST"),	/* additional getenv("") results */
+  *name = getenv("SERVER_NAME"), *addr = getenv("SERVER_ADDR");
+  if ( host!=NULL || name!=NULL || addr!=NULL ) { /* assume http query */
+    isquery = 1;			/* set flag to signal query */
+    if ( exitstatus == 0 ) exitstatus = errorstatus; /* signal error */
+    strcpy(expression,			/* and give user an error message */
+    "\\red\\small\\rm\\fbox{\\begin{gather}\\LaTeX~expression~not~supplied"
+    "\\\\i.e.,~no~?query\\_string~given~to~mimetex.cgi\\end{gather}}"); }
+  isqempty = 1;				/* signal empty query string */
   } /* --- end-of-if(!isquery) --- */
 /* ---
  * process command-line input args (if not a query)
@@ -13683,10 +15585,10 @@
 	     if ( arglen > 1 ) ptype = atoi(field+1);	/* -g2 ==> ptype=2 */
 	     if ( 1 || *argv[argnum]=='-' ) argnum--; /*next arg is -switch*/
 	     else pbm_outfile = argv[argnum]; break; /*next arg is filename*/
-	case 'm': msglevel = atoi(argv[argnum]);                      break;
+	case 'm': if ( argnum < argc ) msglevel = atoi(argv[argnum]); break;
 	case 'o': istransparent = (istransparent?0:1);     argnum--;  break;
 	case 'q': isqforce = 1;                            argnum--;  break;
-	case 's': size = atoi(argv[argnum]);                          break;
+	case 's': if ( argnum < argc ) size = atoi(argv[argnum]);     break;
 	} /* --- end-of-switch(flag) --- */
       } /* --- end-of-if(*argv[argnum]=='-') --- */
     else				/* expression if arg not a -flag */
@@ -13760,7 +15662,7 @@
  if ( !memcmp(expression,"formdata",8) ) /*must be <input name="formdata"> */
   { char *delim=strchr(expression,'=');	/* find equal following formdata */
     if ( delim != (char *)NULL )	/* found unescaped equal sign */
-      strcpy(expression,delim+1);	/* so shift name= out of expression*/
+      {strsqueezep(expression,delim+1);} /* so shift name= out */
     while ( (delim=strchr(expression,'+')) != NULL ) /*unescaped plus sign*/
       *delim = ' ';			/* is "shorthand" for blank space */
     /*unescape_url(expression,1);*/	/* convert unescaped %xx's to chars */
@@ -13771,6 +15673,12 @@
  else /* --- query, but not <form> input --- */
     unescape_url(expression,0); }	/* convert _all_ %xx's to chars */
 /* ---
+ * check queries for prefixes/suffixes/embedded that might cause problems
+ * ---------------------------------------------------------------------- */
+/* --- expression whose last char is \ --- */
+if ( lastchar(expression) == '\\' )	/* last char is backslash */
+  strcat(expression," ");		/* assume "\ " lost the final space*/
+/* ---
  * check queries for embedded prefixes signalling special processing
  * ----------------------------------------------------------------- */
 if ( isquery )				/* only check queries */
@@ -13782,7 +15690,7 @@
       {	*delim = '\000';		/* replace delim with null */
 	if ( seclevel <= 9 )		/* permit msglevel specification */
 	  msglevel = atoi(expression+9); /* interpret ### in msglevel###$ */
-	strcpy(expression,delim+1); } }	/* shift out prefix and delim */
+	strsqueezep(expression,delim+1); } } /* squeeze out prefix & delim */
  /* --- next check for logfile=xxx$ prefix (must follow msglevel) --- */
  if ( !memcmp(expression,"logfile=",8) ) /* query has logfile= prefix */
    { char *delim=strchr(expression,'$'); /* find $ delim following logfile=*/
@@ -13790,7 +15698,7 @@
       {	*delim = '\000';		/* replace delim with null */
 	if ( seclevel <= 3 )		/* permit logfile specification */
 	  strcpy(logfile,expression+8);	/* interpret xxx in logfile=xxx$ */
-	strcpy(expression,delim+1); } }	/* shift out prefix and delim */
+	strsqueezep(expression,delim+1); } } /* squeeze out prefix & delim */
  } /* --- end-of-if(isquery) --- */
 /* ---
  * log query (e.g., for debugging)
@@ -13857,20 +15765,42 @@
 if ( 1 || isquery )			/* queries or command-line */
  if ( *exprprefix != '\000' )		/* we have a prefix string */
   { int npref = strlen(exprprefix);	/* #chars in prefix */
-    memmove(expression+npref+1,expression,strlen(expression)+1); /*make room*/
+    memmove(expression+npref+1,expression,strlen(expression)+1);/*make room*/
     memcpy(expression,exprprefix,npref); /* copy prefix into expression */
     expression[npref] = '{';		/* followed by { */
     strcat(expression,"}"); }		/* and terminating } to balance { */
 /* ---
- * check if http_referer is allowed to use this image
- * -------------------------------------------------- */
-if ( isquery )				/* not relevant if "interactive" */
- if ( referer != NULL )			/* nor if compiled w/o -DREFERER= */
-  if ( strcmp(referer,"month") != 0 )	/* nor if it's *only* "month" */
-   if ( http_referer != NULL )		/* nor if called "standalone" */
-    if ( !isstrstr(http_referer,referer,0) ) /* invalid http_referer */
-     { expression = invalid_referer_msg; /* so give user error message */
-       isinvalidreferer = 1; }		/* and signal invalid referer */
+ * check if http_referer is allowed to use this image and to use \input{}
+ * ---------------------------------------------------------------------- */
+if ( isquery ) {			/* not relevant if "interactive" */
+ /* --- check -DREFERER=\"comma,separated,list\" of valid referers --- */
+ if ( referer != NULL ) {		/* compiled with -DREFERER=\"...\" */
+  if ( strcmp(referer,"month") != 0 )	/* but it's *only* "month" signal */
+   if ( ishttpreferer )			/* or called "standalone" */
+    if ( !isstrstr(http_referer,referer,0) ) { /* invalid http_referer */
+      expression = invalid_referer_msg; /* so give user error message */
+      isinvalidreferer = 1; } }		/* and signal invalid referer */
+ else					/* compiled without -DREFERER= */
+  if ( reflevels > 0 ) {		/*match referer unless -DREFLEVELS=0*/
+   /* --- check topmost levels of http_referer against http_host --- */
+   if ( ishttpreferer			/* have http_referer */
+   &&   !isempty(referer_match) )	/* and something to match it with */
+    if ( !urlncmp(http_referer,referer_match,reflevels) ) { /*match failed*/
+     strcpy(exprbuffer,invalid_referer_match); /* init error message */
+     strreplace(exprbuffer,"SERVER_NAME", /* and then replace SERVER_NAME */
+       strdetex(urlprune(referer_match,reflevels),1),0);/*with referer_match*/
+     isinvalidreferer = 1; }		/* and signal invalid referer */
+   } /* --- end-of-if(reflevels>0) --- */
+ /* --- check -DINPUTREFERER=\"comma,separated,list\" of \input users --- */
+ inputseclevel = INPUTSECURITY;		/* set default input security */
+ if ( inputreferer != NULL ) {		/* compiled with -DINPUTREFERER= */
+  if ( http_referer == NULL )		/* but no http_referer given */
+   inputseclevel = (-1);		/* unknown user can't \input{} */
+  else					/*have inputreferer and http_referer*/
+   if ( !isstrstr(http_referer,inputreferer,0) ) /*http_referer can't \input*/
+    inputseclevel = (-1);		/* this known user can't \input{} */
+  } /* --- end-of-if(inputreferer!=NULL) --- */
+ } /* --- end-of-if(isquery) --- */
 /* ---
  * check if referer contains "month" signal
  * ---------------------------------------- */
@@ -13910,12 +15840,35 @@
 if ( isquery )				/* not relevant if "interactive" */
  if ( !isinvalidreferer )		/* nor if already invalid referer */
   if ( !ishttpreferer )			/* no http_referer supplied */
-   if ( strlen(expression) > norefmaxlen ) /* query_string too long */
-    { expression = invalid_referer_msg;	/* set invalid http_referer message*/
-      isinvalidreferer = 1; }		/* and signal invalid referer */
+   if ( strlen(expression) > norefmaxlen ) { /* query_string too long */
+    if ( isempty(referer_match) )	/* no referer_match to display */
+     expression = invalid_referer_msg;	/* set invalid http_referer message*/
+    else {				/* error with referer_match display*/
+     strcpy(exprbuffer,invalid_referer_match); /* init error message */
+     strreplace(exprbuffer,"SERVER_NAME", /* and then replace SERVER_NAME */
+       strdetex(urlprune(referer_match,reflevels),1),0); } /*with host_http*/
+     isinvalidreferer = 1; }		/* and signal invalid referer */
 /* ---
- * check for image caching
- * ----------------------- */
+ * check for "advertisement"
+ * ------------------------- */
+/* --- check if advertisement messages only for one particular host --- */
+if ( !isempty(host_showad) )		/* messages only for this referer */
+ if ( !isempty(referer_match) )		/* have HTTP_HOST or SERVER_NAME */
+   if ( strstr(referer_match,host_showad) /* see if this host sees ad */
+   == NULL )				/* not mimetex host for ad */
+     adfrequency = 0;			/* turn off advertisements */
+/* --- check for advertisement directive (\advertisement) --- */
+if ( strreplace(expression,"\\advertisement","",0) /*remove \advertisement*/
+>=   1 ) adfrequency = 1;		/* force advertisement display */
+if ( adfrequency > 0 ) {		/* advertising enabled */
+  int	npump = crc16(expression)%16;	/* #times, 0-15, to pump rand() */
+  srand(atoi(timestamp(TZDELTA,4)));	/* init rand() with mmddhhmmss */
+  while ( npump-- >= 0 ) rand();	/* pre-pump rand() before use */
+  if ( (1+rand())%adfrequency == 0 ) {	/* once every adfrequency calls */
+    advertisement(expression,adtemplate); } } /*wrap expression in advert*/
+/* ---
+ * check for image caching (and whether or not caching content type)
+ * ----------------------------------------------------------------- */
 if ( strstr(expression,"\\counter")  != NULL /* can't cache \counter{} */
 ||   strstr(expression,"\\input")    != NULL /* can't cache \input{} */
 ||   strstr(expression,"\\today")    != NULL /* can't cache \today */
@@ -13924,6 +15877,10 @@
 ||   isformdata				/* don't cache user form input */
  ) { iscaching = 0;			/* so turn caching off */
      maxage = 5; }			/* and set max-age to 5 seconds */
+if ( strstr(expression,"\\depth")    != NULL ) /* cache content-type lines */
+     iscachecontenttype = 1;		/* set flag to cache content-type */
+if ( strstr(expression,"\\nodepth")  != NULL ) /* don't cache content-type */
+     iscachecontenttype = 0;		/*set flag to not cache content-type*/
 if ( isquery )				/* don't cache command-line images */
  if ( iscaching )			/* image caching enabled */
   {
@@ -13981,8 +15938,10 @@
  * emit copyright, gnu/gpl notice (if "interactive")
  * ------------------------------------------------- */
 if ( !isdumpimage )			/* don't mix ascii with image dump */
- if ( (!isquery||isqlogging) && msgfp!=NULL ) /* called from command line */
-   fprintf(msgfp,"%s\n",copyright);	/* display copyright, gnu/gpl info */
+ if ( (!isquery||isqlogging) && msgfp!=NULL ) { /* called from command line */
+   fprintf(msgfp,"%s\n%s\n",copyright1,copyright2); /* display copyright */
+   fprintf(msgfp,"Most recent revision: %s\n",REVISIONDATE); /*revision date*/
+   } /* --- end-of-if(!isquery...) --- */
 /* -------------------------------------------------------------------------
 rasterize expression and put a border around it
 -------------------------------------------------------------------------- */
@@ -13990,25 +15949,58 @@
 if ( expression != NULL ) {		/* have expression to rasterize */
   expression = mimeprep(expression); }	/* preprocess expression */
 /* --- double-check that we actually have an expression to rasterize --- */
-if ( expression == NULL )		/* nothing to rasterize */
- { if ( (!isquery||isqlogging) && msgfp!=NULL ) /*emit error if not a query*/
-     fprintf(msgfp,"No expression to rasterize\n");
-   goto end_of_job; }			/* and then quit */
+if ( expression == NULL ) {		/* nothing to rasterize */
+  if ( exitstatus == 0 ) exitstatus = errorstatus; /*signal error to parent*/
+  if ( (!isquery||isqlogging) && msgfp!=NULL ) { /*emit error if not query*/
+    if ( exitstatus != 0 ) fprintf(msgfp,"Exit code = %d,\n",exitstatus);
+    fprintf(msgfp,"No LaTeX expression to rasterize\n"); }
+  goto end_of_job; }			/* and then quit */
 /* --- rasterize expression --- */
-if ( (sp = rasterize(expression,size)) == NULL ) /* failed to rasterize */
- { if ( (!isquery||isqlogging) && msgfp!=NULL ) /*emit error if not a query*/
-     fprintf(msgfp,"Failed to rasterize %s\n",expression);
-   if ( isquery ) sp = rasterize(	/* or emit error raster if query */
-     "\\red\\rm~\\fbox{mimeTeX~failed~to~render\\\\your~expression}",1);
-   if ( sp ==  NULL ) goto end_of_job; } /* re-check for failure */
+if ( (sp = rasterize(expression,size)) == NULL ) { /* failed to rasterize */
+  if ( exitstatus == 0 ) exitstatus = errorstatus; /*signal error to parent*/
+  if ( (!isquery||isqlogging) && msgfp!=NULL ) { /*emit error if not query*/
+    if ( exitstatus != 0 ) fprintf(msgfp,"Exit code = %d,\n",exitstatus);
+    fprintf(msgfp,"Failed to rasterize %.2048s\n",expression); }
+  if ( isquery ) {			/* try to display failed expression*/
+    char errormsg[4096];		/* buffer for failed expression */
+    strcpy(errormsg,			/* init error message */
+    "\\red\\fbox{\\begin{gather}"
+    "{\\rm~mi\\underline{meTeX~failed~to~render~your~expressi}on}\\\\[5]");
+    strcat(errormsg,"{\\rm\\hspace{10}{"); /*render expression as \rm*/
+    strcat(errormsg,strdetex(expression,0));/*add detexed expression to msg*/
+    strcat(errormsg,"}\\hspace{10}}\\end{gather}}"); /* finish up */
+    if ( (sp = rasterize(errormsg,1)) == NULL ) /*couldn't rasterize errmsg*/
+      sp = rasterize(			/* so rasterize generic error */
+      "\\red\\rm~\\fbox{mimeTeX~failed~to~render\\\\your~expression}",1); }
+  if ( sp ==  NULL ) goto end_of_job;	/* re-check for err message failure*/
+  magstep = 1;				/* don't magstep error msgs */
+  } /* --- end-of-if((sp=rasterize())==NULL) --- */
+/* --- magnify entire image here if we need >>bit<<map for pbm output --- */
+if ( !isaa || (ispbmpgm && ptype<2) ) {	/*or use bytemapmag() below instead*/
+ if ( magstep > 1 && magstep <= 10 ) {	/* magnify entire bitmap image */
+  raster *rastmag(), *magrp=NULL;	/* bitmap magnify function */
+  int baseline = sp->baseline;		/* original image baseline */
+  magrp = rastmag(sp->image,magstep);	/* magnify raster image */
+  if ( magrp != NULL ) {		/* succeeded to magnify image */
+    delete_raster(sp->image);		/* free original raster image */
+    sp->image = magrp;			/*and replace it with magnified one*/
+    /* --- adjust parameters --- */
+    baseline *= magstep;		/* scale baseline */
+    if ( baseline > 0 ) baseline += 1;	/* adjust for no descenders */
+    sp->baseline = baseline; }		/*reset baseline of magnified image*/
+  magstep = (-1);			/*done, don't also use bytemapmag()*/
+  } /* --- end-of-if(magstep) --- */
+ } /* --- end-of-if(1||(ispbmpgm&&ptype<2)) --- */
 /* ---no border requested, but this adjusts width to multiple of 8 bits--- */
 if ( issupersampling )			/* no border needed for gifs */
   bp = sp->image;			/* so just extract pixel map */
 else					/* for mime xbitmaps must have... */
   bp = border_raster(sp->image,0,0,0,1); /* image width multiple of 8 bits */
 sp->image = bitmap_raster = bp;		/* global copy for gif,png output */
+raster_width = bp->width; raster_height = bp->height; /* global copy */
+raster_baseline = sp->baseline;		/* global copy (not needed) */
 if ( sp!=NULL && bp!=NULL ) {		/* have raster */
-  valign = sp->baseline - (bp->height - 1); /* #pixels for Vertical-Align: */
+  valign= raster_baseline -(raster_height -1);/*#pixels for Vertical-Align:*/
   if ( abs(valign) > 255 ) valign = (-9999); } /* sanity check */
 if ( ispbmpgm && ptype<2 )		/* -g switch or -g1 switch */
   type_pbmpgm(bp,ptype,pbm_outfile);	/* emit b/w pbm file */
@@ -14020,7 +16012,7 @@
   /* ---
    * allocate bytemap and colormap as per width*height of bitmap
    * ----------------------------------------------------------- */
-  int	nbytes = (bp->width)*(bp->height); /*#bytes needed in byte,colormap*/
+  int	nbytes = (raster_width)*(raster_height); /*#bytes for byte,colormap*/
   if ( isss )				/* anti-aliasing by supersampling */
     bytemap_raster = (intbyte *)(bitmap_raster->pixmap); /*bytemap in raster*/
   else					/* need to allocate bytemap */
@@ -14029,9 +16021,6 @@
     else				/* anti-aliasing wanted */
       if ( (bytemap_raster = (intbyte *)malloc(nbytes)) /* malloc bytemap */
       ==   NULL ) isaa = 0;		/* reset flag if malloc failed */
-  if ( isaa )				/* have bytemap, so... */
-    if ( (colormap_raster = (intbyte *)malloc(nbytes)) /* malloc colormap */
-    ==   NULL ) isaa = 0;		/* reset flag if malloc failed */
   /* ---
    * now generate anti-aliased bytemap and colormap from bitmap
    * ---------------------------------------------------------- */
@@ -14088,9 +16077,32 @@
        "all patterns: %7d          +%7d          =%7d  total pixels\n",
        pcount0,pcount1,pcount0+pcount1); }
     /* ---
+     * apply magstep if requested and not already done to bitmap above
+     * --------------------------------------------------------------- */
+      if ( 1 ) {			/* or use rastmag() above instead */
+       if ( magstep > 1 && magstep <= 10 ) { /*magnify entire bytemap image*/
+        intbyte *bytemapmag(), *magmap=NULL; /* bytemap magnify function */
+        magmap=bytemapmag(bytemap_raster,raster_width,raster_height,magstep);
+        if ( magmap != NULL ) {		/* succeeded to magnify image */
+          free(bytemap_raster);		/* free original bytemap image */
+          bytemap_raster = magmap;	/*and replace it with magnified one*/
+          /* --- adjust parameters --- */
+          raster_width *= magstep; raster_height *= magstep; /*scale raster*/
+          nbytes *= (magstep*magstep);	/* scale total image size */
+          if ( abs(valign) < 255 ) {	/* valign okay */
+            valign *= magstep;		/* scale by magstep */
+            if ( abs(valign) > 512 ) valign = (-9999); } /* sanity check */
+          } /* --- end-of-if(magmap!=NULL) --- */
+        magstep = (-1);			/*done, don't also use bytemapmag()*/
+        } /* --- end-of-if(magstep) --- */
+       } /* --- end-of-if(1) --- */
+    /* ---
      * finally, generate colors and colormap
      * ------------------------------------- */
-    if ( isaa ) {			/* we have bytemap_raster */
+    if ( isaa )				/* have bytemap, so... */
+      if ( (colormap_raster = (intbyte *)malloc(nbytes)) /*malloc colormap*/
+      ==   NULL ) isaa = 0;		/* reset flag if malloc failed */
+    if ( isaa ) {			/* we have byte/colormap_raster */
       ncolors = aacolormap(bytemap_raster,nbytes,colors,colormap_raster);
       if ( ncolors < 2 )		/* failed */
 	{ isaa = 0;			/* so turn off anti-aliasing */
@@ -14098,7 +16110,7 @@
       } /* --- end-of-if(isaa) --- */
      if ( isaa && ispbmpgm && ptype>1 ) { /* -g2 switch  */
       raster pbm_raster;		/*construct arg for write_pbmpgm()*/
-      pbm_raster.width  = bp->width;  pbm_raster.height = bp->height;
+      pbm_raster.width  = raster_width;  pbm_raster.height = raster_height;
       pbm_raster.pixsz  = 8;  pbm_raster.pixmap = (pixbyte *)bytemap_raster;
       type_pbmpgm(&pbm_raster,ptype,pbm_outfile); } /*write grayscale file*/
     } /* --- end-of-if(isaa) --- */
@@ -14125,11 +16137,13 @@
     if ( msgfp!=NULL && msglevel>=9 )	/* don't usually emit raw bytemap */
       {	fprintf(msgfp,"\nHex dump of anti-aliased bytemap, " /*emit bytemap*/
 	"asterisks denote \"black\" bytes (value=%d)...\n",grayscale-1);
-	type_bytemap(bytemap_raster,grayscale,bp->width,bp->height,msgfp); }
+	type_bytemap(bytemap_raster,grayscale,
+        raster_width,raster_height,msgfp); }
     /* --- colormap image --- */
     fprintf(msgfp,"\nHex dump of colormap indexes, "  /* emit colormap */
       "asterisks denote \"black\" bytes (index=%d)...\n",ncolors-1);
-    type_bytemap(colormap_raster,ncolors,bp->width,bp->height,msgfp);
+    type_bytemap(colormap_raster,ncolors,
+    raster_width,raster_height,msgfp);
     /* --- rgb values corresponding to colormap indexes */
     fprintf(msgfp,"\nThe %d colormap indexes denote rgb values...",ncolors);
     for ( igray=0; igray<ncolors; igray++ ) /* show colors[] values */
@@ -14182,9 +16196,10 @@
   /* --- initialize gifsave library and colors --- */
   if ( msgfp!=NULL && msglevel>=999 )
     { fprintf(msgfp,"main> calling GIF_Create(*,%d,%d,%d,8)\n",
-      bp->width,bp->height,ncolors); fflush(msgfp); }
+      raster_width,raster_height,ncolors); fflush(msgfp); }
   while ( 1 )		/* init gifsave lib, and retry if caching fails */
-    { int status = GIF_Create(gif_outfile, bp->width,bp->height, ncolors, 8);
+    { int status = GIF_Create(gif_outfile,
+        raster_width,raster_height, ncolors, 8);
       if ( status == 0 ) break;		/* continue if succeeded */
       if ( iscaching == 0 ) goto end_of_job; /* quit if failed */
       iscaching = 0;			/* retry without cache file */
@@ -14269,7 +16284,9 @@
   #endif
   /* --- exit() if not running as Windows DLL (see CreateGifFromEq()) --- */
   #if !defined(_USRDLL)
-    exit ( 0 );
+    if ( errorstatus == 0 )		/*user doesn't want errors signalled*/
+      exitstatus = 0;			/* so reset error status */
+    exit ( exitstatus );
   #endif
 } /* --- end-of-function main() --- */
 
@@ -14324,73 +16341,6 @@
 	) ;
 } /* --- end-of-function CreateGifFromEq() --- */
 
-/* ==========================================================================
- * Function:	isstrstr ( char *string, char *snippets, int iscase )
- * Purpose:	determine whether any substring of 'string'
- *		matches any of the comma-separated list of 'snippets',
- *		ignoring case if iscase=0.
- * --------------------------------------------------------------------------
- * Arguments:	string (I)	char * containing null-terminated
- *				string that will be searched for
- *				any one of the specified snippets
- *		snippets (I)	char * containing null-terminated,
- *				comma-separated list of snippets
- *				to be searched for in string
- *		iscase (I)	int containing 0 for case-insensitive
- *				comparisons, or 1 for case-sensitive
- * --------------------------------------------------------------------------
- * Returns:	( int )		1 if any snippet is a substring of
- *				string, 0 if not
- * --------------------------------------------------------------------------
- * Notes:     o
- * ======================================================================= */
-/* --- entry point --- */
-int	isstrstr ( char *string, char *snippets, int iscase )
-{
-/* -------------------------------------------------------------------------
-Allocations and Declarations
--------------------------------------------------------------------------- */
-int	status = 0;			/*1 if any snippet found in string*/
-char	snip[99], *snipptr = snippets,	/* munge through each snippet */
-	delim = ',', *delimptr = NULL;	/* separated by delim's */
-char	stringcp[999], *cp = stringcp;	/*maybe lowercased copy of string*/
-/* -------------------------------------------------------------------------
-initialization
--------------------------------------------------------------------------- */
-/* --- arg check --- */
-if ( string==NULL || snippets==NULL ) goto end_of_job; /* missing arg */
-if ( *string=='\000' || *snippets=='\000' ) goto end_of_job; /* empty arg */
-/* --- copy string and lowercase it if case-insensitive --- */
-strcpy(stringcp,string);		/* local copy of string */
-if ( !iscase )				/* want case-insensitive compares */
-  for ( cp=stringcp; *cp != '\000'; cp++ ) /* so for each string char */
-    if ( isupper(*cp) ) *cp = tolower(*cp); /*lowercase any uppercase chars*/
-/* -------------------------------------------------------------------------
-extract each snippet and see if it's a substring of string
--------------------------------------------------------------------------- */
-while ( snipptr != NULL )		/* while we still have snippets */
-  {
-  /* --- extract next snippet --- */
-  if ( (delimptr = strchr(snipptr,delim)) /* locate next comma delim */
-  ==   NULL )				/*not found following last snippet*/
-    { strcpy(snip,snipptr);		/* local copy of last snippet */
-      snipptr = NULL; }			/* signal end-of-string */
-  else					/* snippet ends just before delim */
-    { int sniplen = (int)(delimptr-snipptr) - 1;  /* #chars in snippet */
-      memcpy(snip,snipptr,sniplen);	/* local copy of snippet chars */
-      snip[sniplen] = '\000';		/* null-terminated snippet */
-      snipptr = delimptr + 1; }		/* next snippet starts after delim */
-  /* --- lowercase snippet if case-insensitive --- */
-  if ( !iscase )			/* want case-insensitive compares */
-    for ( cp=snip; *cp != '\000'; cp++ ) /* so for each snippet char */
-      if ( isupper(*cp) ) *cp=tolower(*cp); /*lowercase any uppercase chars*/
-  /* --- check if snippet in string --- */
-  if ( strstr(stringcp,snip) != NULL )	/* found snippet in string */
-    { status = 1;			/* so reset return status */
-      break; }				/* no need to check any further */
-  } /* --- end-of-while(*snipptr!=0) --- */
-end_of_job: return ( status );		/*1 if snippet found in list, else 0*/
-} /* --- end-of-function isstrstr() --- */
 
 /* ==========================================================================
  * Function:	ismonth ( char *month )
@@ -14448,126 +16398,6 @@
   return ( isokay );			/*1 if month contains current month*/
 } /* --- end-of-function ismonth() --- */
 
-/* ==========================================================================
- * Functions:	int  unescape_url ( char *url, int isescape )
- *		char x2c ( char *what )
- * Purpose:	unescape_url replaces 3-character sequences %xx in url
- *		    with the single character represented by hex xx.
- *		x2c returns the single character represented by hex xx
- *		    passed as a 2-character sequence in what.
- * --------------------------------------------------------------------------
- * Arguments:	url (I)		char * containing null-terminated
- *				string with embedded %xx sequences
- *				to be converted.
- *		isescape (I)	int containing 1 to _not_ unescape
- *				\% sequences (0 would be NCSA default)
- *		what (I)	char * whose first 2 characters are
- *				interpreted as ascii representations
- *				of hex digits.
- * --------------------------------------------------------------------------
- * Returns:	( int )		unescape_url always returns 0.
- *		( char )	x2c returns the single char
- *				corresponding to hex xx passed in what.
- * --------------------------------------------------------------------------
- * Notes:     o	These two functions were taken verbatim from util.c in
- *   ftp://ftp.ncsa.uiuc.edu/Web/httpd/Unix/ncsa_httpd/cgi/ncsa-default.tar.Z
- *	      o	Not quite "verbatim" -- I added the "isescape logic" 4-Dec-03
- *		so unescape_url() can be safely applied to input which may or
- *		may not have been url-encoded.  (Note: currently, all calls
- *		to unescape_url() pass iescape=0, so it's not used.)
- *	      o	Added +++'s to blank xlation on 24-Sep-06
- *	      o	Added ^M,^F,etc to blank xlation 0n 01-Oct-06
- * ======================================================================= */
-/* --- entry point --- */
-int unescape_url(char *url, int isescape) {
-    int x=0,y=0,prevescape=0,gotescape=0;
-    int xlateplus = (isplusblank==1?1:0); /* true to xlate plus to blank */
-    int strreplace();			/* replace + with blank, if needed */
-    char x2c();
-    static char *hex="0123456789ABCDEFabcdef";
-    /* ---
-     * xlate ctrl chars to blanks
-     * -------------------------- */
-    if ( 1 ) {				/* xlate ctrl chars to blanks */
-      char *ctrlchars = "\n\t\v\b\r\f\a\015";
-      int  seglen = strspn(url,ctrlchars); /*initial segment with ctrlchars*/
-      int  urllen = strlen(url);	/* total length of url string */
-      /* --- first, entirely remove ctrlchars from beginning and end --- */
-      if ( seglen > 0 ) {		/*have ctrlchars at start of string*/
-	strcpy(url,url+seglen);		/* squeeze out initial ctrlchars */
-	urllen -= seglen; }		/* string is now shorter */
-      while ( --urllen >= 0 )		/* now remove ctrlchars from end */
-	if ( isthischar(url[urllen],ctrlchars) ) /* ctrlchar at end */
-	  url[urllen] = '\000';		/* re-terminate string before it */
-	else break;			/* or we're done */
-      urllen++;				/* length of url string */
-      /* --- now, replace interior ctrlchars with ~ blanks --- */
-      while ( (seglen=strcspn(url,ctrlchars)) < urllen ) /*found a ctrlchar*/
-	url[seglen] = '~';		/* replace ctrlchar with ~ */
-      } /* --- end-of-if(1) --- */
-    /* ---
-     * xlate +'s to blanks if requested or if deemed necessary
-     * ------------------------------------------------------- */
-    if ( isplusblank == (-1) ) {	/*determine whether or not to xlate*/
-      char *searchfor[] = { " ","%20", "%2B","%2b", "+++","++",
-	"+=+","+-+", NULL };
-      int  isearch = 0,			/* searchfor[] index */
-	   nfound[11] = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}; /*#occurrences*/
-      /* --- locate occurrences of searchfor[] strings in url --- */
-      for ( isearch=0; searchfor[isearch] != NULL; isearch++ ) {
-	char *psearch = url;		/* start search at beginning */
-	nfound[isearch] = 0;		/* init #occurrences count */
-	while ( (psearch=strstr(psearch,searchfor[isearch])) != NULL ) {
-	  nfound[isearch] += 1;		/* count another occurrence */
-	  psearch += strlen(searchfor[isearch]); } /*resume search after it*/
-	} /* --- end-of-for(isearch) --- */
-      /* --- apply some common-sense logic --- */
-      if ( nfound[0] + nfound[1] > 0 )	/* we have actual " "s or "%20"s */
-	isplusblank = xlateplus = 0;	/* so +++'s aren't blanks */
-      if ( nfound[2] + nfound[3] > 0 ) { /* we have "%2B" for +++'s */
-        if ( isplusblank != 0 )		/* and haven't disabled xlation */
-	  isplusblank = xlateplus = 1;	/* so +++'s are blanks */
-	else				/* we have _both_ "%20" and "%2b" */
-	  xlateplus = 0; }		/* tough call */
-      if ( nfound[4] + nfound[5] > 0	/* we have multiple ++'s */
-      ||   nfound[6] + nfound[7] > 0 )	/* or we have a +=+ or +-+ */
-	if ( isplusblank != 0 )		/* and haven't disabled xlation */
-	  xlateplus = 1;		/* so xlate +++'s to blanks */
-      } /* --- end-of-if(isplusblank==-1) --- */
-    if ( xlateplus > 0 ) {		/* want +'s xlated to blanks */
-      char *xlateto[] = { ""," "," "," + "," "," "," "," "," " };
-      while ( xlateplus > 0 ) {		/* still have +++'s to xlate */
-	char plusses[99] = "++++++++++++++++++++"; /* longest +++ string */
-	plusses[xlateplus] = '\000';	/* null-terminate +++'s */
-	strreplace(url,plusses,xlateto[xlateplus],0); /* xlate +++'s */
-	xlateplus--;			/* next shorter +++ string */
-	} /* --- end-of-while(xlateplus>0) --- */
-      } /* --- end-of-if(xlateplus) --- */
-    isplusblank = 0;			/* don't iterate this xlation */
-    /* ---
-     * xlate %nn to corresponding char
-     * ------------------------------- */
-    for(;url[y];++x,++y) {
-	gotescape = prevescape;
-	prevescape = (url[x]=='\\');
-	if((url[x] = url[y]) == '%')
-	 if(!isescape || !gotescape)
-	  if(isthischar(url[y+1],hex)
-	  && isthischar(url[y+2],hex))
-	    { url[x] = x2c(&url[y+1]);
-	      y+=2; }
-    }
-    url[x] = '\0';
-    return 0;
-} /* --- end-of-function unescape_url() --- */
-/* --- entry point --- */
-char x2c(char *what) {
-    char digit;
-    digit = (what[0] >= 'A' ? ((what[0] & 0xdf) - 'A')+10 : (what[0] - '0'));
-    digit *= 16;
-    digit += (what[1] >= 'A' ? ((what[1] & 0xdf) - 'A')+10 : (what[1] - '0'));
-    return(digit);
-} /* --- end-of-function x2c() --- */
 
 /* ==========================================================================
  * Function:	logger ( fp, msglevel, message, logvars )
@@ -14613,6 +16443,7 @@
 return ( nlogged );			/* back to caller */
 } /* --- end-of-function logger() --- */
 
+
 /* ==========================================================================
  * Function:	emitcache ( cachefile, maxage, valign, isbuffer )
  * Purpose:	dumps bytes from cachefile to stdout
@@ -14693,6 +16524,7 @@
   return ( nbytes );			/* back with #bytes emitted */
 } /* --- end-of-function emitcache() --- */
 
+
 /* ==========================================================================
  * Function:	readcachefile ( cachefile, buffer )
  * Purpose:	read cachefile into buffer
@@ -14748,6 +16580,92 @@
   return ( nbytes );			/* back with #bytes emitted */
 } /* --- end-of-function readcachefile() --- */
 
+
+/* ==========================================================================
+ * Function:	advertisement ( expression, message )
+ * Purpose:	wrap expression in advertisement message
+ * --------------------------------------------------------------------------
+ * Arguments:	expression (I/O) pointer to null-terminated char string
+ *				containing expression to be "wrapped",
+ *				and returning wrapped expression
+ *		message (I)	pointer to null-terminated char string
+ *				containing template for advertisement
+ *				message, or NULL to use default message
+ * --------------------------------------------------------------------------
+ * Returns:	( int )		1 if successful, 0=error
+ * --------------------------------------------------------------------------
+ * Notes:     o
+ * ======================================================================= */
+/* --- entry point --- */
+int	advertisement ( char *expression, char *message )
+{
+/* -------------------------------------------------------------------------
+Allocations and Declarations
+-------------------------------------------------------------------------- */
+/* --- advertisement template --- */
+char  *adtemplate =
+	#if defined(ADVERTISEMENT)	/* cc -DADVERTISEMENT=\"filename\" */
+	  #include ADVERTISEMENT	/* filename with advertisement */
+	#else				/* formatted as illustrated below */
+	"\\begin{gather} {\\small\\text \\fbox{\\begin{gather}"
+	"mime\\TeX rendering courtesy of\\\\"
+	"\\homepagetext \\end{gather}}}\\\\"
+	" %%beginmath%% %%expression%% %%endmath%% \\end{gather}"
+	#endif
+	;				/* terminating semicolon */
+/* --- other variables --- */
+char	adbuffer[MAXEXPRSZ+2048];	/*construct wrapped expression here*/
+char	*beginmath = " ",		/* start math mode */
+	*endmath =   " ";		/* end math mode */
+int	strreplace();			/* replace %%keywords%% with values*/
+/* -------------------------------------------------------------------------
+wrap expression in advertisement
+-------------------------------------------------------------------------- */
+/* --- start with template --- */
+if ( isempty(message) )			/* caller didn't supply message */
+  message = adtemplate;			/* so use default message */
+strcpy(adbuffer,message);		/* copy message template to buffer */
+/* --- replace %%beginmath%%...%%endmath%% --- */
+  strreplace(adbuffer,"%%beginmath%%",beginmath,0);
+  strreplace(adbuffer,"%%endmath%%",endmath,0);
+/* --- replace %%expression%% in template with expression --- */
+  strreplace(adbuffer,"%%expression%%",expression,0);
+/* --- replace original expression --- */
+strcpy(expression,adbuffer);		/* expression now wrapped in ad */
+return ( 1 );				/* always just return 1 */
+} /* --- end-of-function advertisement() --- */
+
+
+/* ==========================================================================
+ * Function:	crc16 ( s )
+ * Purpose:	16-bit crc of string s
+ * --------------------------------------------------------------------------
+ * Arguments:	s (I)		pointer to null-terminated char string
+ *				whose crc is desired
+ * --------------------------------------------------------------------------
+ * Returns:	( int )		16-bit crc of s
+ * --------------------------------------------------------------------------
+ * Notes:     o	From Numerical Recipes in C, 2nd ed, page 900.
+ * ======================================================================= */
+/* --- entry point --- */
+int	crc16 ( char *s )
+{
+/* -------------------------------------------------------------------------
+Compute the crc
+-------------------------------------------------------------------------- */
+unsigned short crc = 0;			/* returned crc */
+int	ibit;				/* for(ibit) eight one-bit shifts */
+while ( !isempty(s) ) {			/* while there are still more chars*/
+  crc = (crc ^ (*s)<<8);		/* add next char */
+  for ( ibit=0; ibit<8; ibit++ )	/* generator polynomial */
+    if ( crc & 0x8000 ) { crc<<=1; crc=crc^4129; }
+    else crc <<= 1;
+  s++;					/* next xhar */
+  } /* --- end-of-while(!isempty(s)) --- */
+return ( (int)crc );			/* back to caller with crc */
+} /* --- end-of-function crc16() --- */
+
+
 /* ==========================================================================
  * Function:	md5str ( instr )
  * Purpose:	returns null-terminated character string containing
@@ -14974,6 +16892,7 @@
     PUT_UINT32( ctx->state[3], digest, 12 ); }
 /* --- end-of-function md5str() and "friends" --- */
 
+
 #if defined(GIF)
 /* ==========================================================================
  * Function:	GetPixel ( int x, int y )
@@ -14992,7 +16911,7 @@
 /* --- entry point --- */
 int	GetPixel ( int x, int y )
 {
-int	ipixel = y*bitmap_raster->width + x; /* pixel index for x,y-coords*/
+int	ipixel = y*raster_width + x;	/* pixel index for x,y-coords*/
 int	pixval =0;			/* value of pixel */
 if ( !isaa )				/* use bitmap if not anti-aliased */
   pixval = (int)getlongbit(bitmap_raster->pixmap,ipixel); /*pixel = 0 or 1*/
Index: loncom/cgi/mimeTeX/mimetex.h
diff -u loncom/cgi/mimeTeX/mimetex.h:1.4 loncom/cgi/mimeTeX/mimetex.h:1.5
--- loncom/cgi/mimeTeX/mimetex.h:1.4	Thu Dec  4 12:17:13 2008
+++ loncom/cgi/mimeTeX/mimetex.h	Sat Jun  9 00:58:11 2012
@@ -2,7 +2,7 @@
 #define	_MIMETEX
 /****************************************************************************
  *
- * Copyright(c) 2002-2008, John Forkosh Associates, Inc. All rights reserved.
+ * Copyright(c) 2002-2011, John Forkosh Associates, Inc. All rights reserved.
  *           http://www.forkosh.com   mailto: john@forkosh.com
  * --------------------------------------------------------------------------
  * This file is part of mimeTeX, which is free software. You may redistribute
@@ -79,6 +79,17 @@
 #endif
 
 
+/* -------------------------------------------------------------------------
+miscellaneous macros
+-------------------------------------------------------------------------- */
+#define	max2(x,y)  ((x)>(y)? (x):(y))	/* larger of 2 arguments */
+#define	min2(x,y)  ((x)<(y)? (x):(y))	/* smaller of 2 arguments */
+#define	max3(x,y,z) max2(max2(x,y),(z))	/* largest of 3 arguments */
+#define	min3(x,y,z) min2(min2(x,y),(z))	/* smallest of 3 arguments */
+#define absval(x)  ((x)>=0?(x):(-(x)))	/* absolute value */
+#define	iround(x)  ((int)((x)>=0?(x)+0.5:(x)-0.5)) /* round double to int */
+#define	dmod(x,y)  ((x)-((y)*((double)((int)((x)/(y)))))) /*x%y for doubles*/
+
 /* --------------------------------------------------------------------------
 macros to get/set/unset a single bit (in rasters), and some bitfield macros
 -------------------------------------------------------------------------- */
@@ -281,6 +292,9 @@
 #define	BBOLD10		(7)		/* blackboard bold \mathbb A ... */
 #define	STMARY10	(8)		/* stmaryrd math symbols */
 #define	CYR10		(9)		/* cyrillic (wncyr10.mf) */
+#define	CMMI10GR	(10)		/* CMMI10 with a for \alpha, etc */
+#define	CMMI10BGR	(11)		/* CMMIB10 with a for \alpha, etc */
+#define	BBOLD10GR	(12)		/* BBOLD10 with a for \alpha, etc */
 #define	NOTACHAR	(99)		/* e.g., \frac */
 /* --- dummy argument value for handlers --- */
 #define	NOVALUE		(-989898)	/*charnum,family,class used as args*/
@@ -290,7 +304,7 @@
  * ----------------------- */
 STATIC	int  nfontinfo			/* legal font#'s are 1...nfontinfo */
 #ifdef INITVALS
-  = 8
+  = 11
 #endif
   ;
 STATIC	struct {char *name; int family; int istext; int class;}
@@ -307,6 +321,9 @@
     { "\\mathbf",  CMMIB10, 0, -1 }, /*(6) \bf,\mathbf{abc}-->{\mathbf~abc}*/
     { "\\mathrm",  CMR10,   0, -1 }, /*(7) \mathrm */
     { "\\cyr",     CYR10,   1, -1 }, /*(8) \cyr (defaults as text mode) */
+    { "\\textgreek",CMMI10GR,1,-1 }, /*(9) \textgreek{ab}-->\alpha\beta */
+    { "\\textbfgreek",CMMI10BGR,1,-1 },/*(10)\textbfgreek{ab}-->\alpha\beta*/
+    { "\\textbbgreek",BBOLD10GR,1,-1 },/*(11)\textbbgreek{ab}-->\alpha\beta*/
     {  NULL,	   0,       0,  0 } }
 #endif
   ; /* --- end-of-fonts[] --- */
@@ -314,8 +331,10 @@
 /* ---
  * additional font attributes (only size is implemented)
  * ----------------------------------------------------- */
-/* --- font sizes 0-7 = tiny,small,normal,large,Large,LARGE,huge,Huge --- */
-#define	LARGESTSIZE	(7)
+/* --- font sizes 0-10 = tiny=0,scriptsize=1,footnotesize=2,small=3,
+       normalsize=4,large=5,Large=6,LARGE=7,huge=8,Huge=9,HUGE=10 --- */
+/* --- (mimeTeX adds HUGE) --- */
+#define	LARGESTSIZE	(10)
 #ifdef DEFAULTSIZE
   #ifndef NORMALSIZE
     #define NORMALSIZE (DEFAULTSIZE)
@@ -323,19 +342,25 @@
 #endif
 #ifndef	NORMALSIZE
   /*#define NORMALSIZE	(2)*/
-  #define NORMALSIZE	(3)
+  /*#define NORMALSIZE	(3)*/
+  #define NORMALSIZE	(4)
 #endif
 #ifndef	DISPLAYSIZE
   /* --- automatically sets scripts in \displaystyle when fontsize>= --- */
   /*#define DISPLAYSIZE	(NORMALSIZE+1)*/
-  #define DISPLAYSIZE	(3)
+  /*#define DISPLAYSIZE	(3)*/
+  #define DISPLAYSIZE	(4)
 #endif
 
 /* ---
 aspect ratio is width/height of the displayed image of a pixel
 -------------------------------------------------------------- */
 #define	ASPECTRATIO	1.0 /*(16.0/9.0)*/
-#define	SQRTWIDTH(sqrtht) ((int)(.5*((double)(sqrtht+1))*ASPECTRATIO + 0.5))
+#define SURDSERIFWIDTH(sqrtht) max2(1, ( 1 + (((sqrtht)+8)/20) ) )
+#define	SURDWIDTH(sqrtht,x) ( SURDSERIFWIDTH((sqrtht)) + \
+		(((sqrtht)+1)*ASPECTRATIO + 1) / ((((sqrtht))/20)+(x))  )
+		/* ((int)(.5*((double)((sqrtht)+1))*ASPECTRATIO + 0.5)) ) */
+#define	SQRTWIDTH(sqrtht,x) min2(32,max2(10,SURDWIDTH((sqrtht),(x))))
 
 /* ---
  * space between adjacent symbols, e.g., symspace[RELATION][VARIABLE]
@@ -432,18 +457,35 @@
 #ifdef INITVALS
  =
  {/* -----------------------------------------------------------------------------------------
                
-    family     size=0,        1,        2,        3,        4,        5,        6,   \
7 +    family     size=0,        1,        2,        3,        4,        5,
+                    6,        7,        8,        9,	   10
   ----------------------------------------------------------------------------------------- \
                */
-  {   CMR10,{   cmr83,   cmr100,   cmr118,   cmr131,   cmr160,   cmr180,   cmr210,   \
                cmr250}},
-  {  CMMI10,{  cmmi83,  cmmi100,  cmmi118,  cmmi131,  cmmi160,  cmmi180,  cmmi210,  \
                cmmi250}},
-  { CMMIB10,{ cmmib83, cmmib100, cmmib118, cmmib131, cmmib160, cmmib180, cmmib210, \
                cmmib250}},
-  {  CMSY10,{  cmsy83,  cmsy100,  cmsy118,  cmsy131,  cmsy160,  cmsy180,  cmsy210,  \
                cmsy250}},
-  {  CMEX10,{  cmex83,  cmex100,  cmex118,  cmex131,  cmex160,  cmex180,  cmex210,  \
                cmex250}},
-  {  RSFS10,{  rsfs83,  rsfs100,  rsfs118,  rsfs131,  rsfs160,  rsfs180,  rsfs210,  \
                rsfs250}},
-  { BBOLD10,{ bbold83, bbold100, bbold118, bbold131, bbold160, bbold180, bbold210, \
                bbold250}},
-  {STMARY10,{stmary83,stmary100,stmary118,stmary131,stmary160,stmary180,stmary210,stmary250}},
                
-  {   CYR10,{ wncyr83, wncyr100, wncyr118, wncyr131, wncyr160, wncyr180, wncyr210, \
                wncyr250}},
-  {    -999,{    NULL,     NULL,     NULL,     NULL,     NULL,     NULL,     NULL,   \
NULL}} +  {   CMR10,{   cmr83,   cmr100,   cmr118,   cmr131,   cmr160,   cmr180,
+               cmr210,   cmr250,   cmr325,   cmr450,   cmr600}},
+  {  CMMI10,{  cmmi83,  cmmi100,  cmmi118,  cmmi131,  cmmi160,  cmmi180,
+              cmmi210,  cmmi250,  cmmi325,  cmmi450,  cmmi600}},
+  { CMMIB10,{ cmmib83, cmmib100, cmmib118, cmmib131, cmmib160, cmmib180,
+             cmmib210, cmmib250, cmmib325, cmmib450, cmmib600}},
+  {  CMSY10,{  cmsy83,  cmsy100,  cmsy118,  cmsy131,  cmsy160,  cmsy180,
+              cmsy210,  cmsy250,  cmsy325,  cmsy450,  cmsy600}},
+  {  CMEX10,{  cmex83,  cmex100,  cmex118,  cmex131,  cmex160,  cmex180,
+              cmex210,  cmex250,  cmex325,  cmex450,  cmex600}},
+  {  RSFS10,{  rsfs83,  rsfs100,  rsfs118,  rsfs131,  rsfs160,  rsfs180,
+              rsfs210,  rsfs250,  rsfs325,  rsfs450,  rsfs600}},
+  { BBOLD10,{ bbold83, bbold100, bbold118, bbold131, bbold160, bbold180,
+             bbold210, bbold250, bbold325, bbold450, bbold600}},
+  {STMARY10,{stmary83,stmary100,stmary118,stmary131,stmary160,stmary180,
+            stmary210,stmary250,stmary325,stmary450,stmary600}},
+  {   CYR10,{ wncyr83, wncyr100, wncyr118, wncyr131, wncyr160, wncyr180,
+             wncyr210, wncyr250, wncyr325, wncyr450, wncyr600}},
+  {CMMI10GR,{  cmmi83,  cmmi100,  cmmi118,  cmmi131,  cmmi160,  cmmi180,
+              cmmi210,  cmmi250,  cmmi325,  cmmi450,  cmmi600}},
+  {CMMI10BGR,{cmmib83, cmmib100, cmmib118, cmmib131, cmmib160, cmmib180,
+             cmmib210, cmmib250, cmmib325, cmmib450, cmmib600}},
+  {BBOLD10GR,{bbold83, bbold100, bbold118, bbold131, bbold160, bbold180,
+             bbold210, bbold250, bbold325, bbold450, bbold600}},
+  {    -999,{    NULL,     NULL,     NULL,     NULL,     NULL,     NULL,
+                 NULL,     NULL,     NULL,     NULL,     NULL}}
  }
 #endif
  ; /* --- end-of-aafonttable[] --- */
@@ -454,18 +496,35 @@
  #ifdef INITVALS
   =
   {/* -----------------------------------------------------------------------------------------
                
-    family     size=0,        1,        2,        3,        4,        5,        6,   \
7 +    family     size=0,        1,        2,        3,        4,        5,
+                    6,        7,        8,        9,       10
    ----------------------------------------------------------------------------------------- \
                */
-   {  CMR10,{  cmr250,  cmr1200,  cmr1200,  cmr1200,  cmr1200,  cmr1200,  cmr1200,  \
                cmr1200}},
-   { CMMI10,{ cmmi250,  cmmi100,  cmmi118,  cmmi131,  cmmi160,  cmmi180,  cmmi210,  \
                cmmi250}},
-   {CMMIB10,{cmmib250, cmmib100, cmmib118, cmmib131, cmmib160, cmmib180, cmmib210, \
                cmmib250}},
-   { CMSY10,{ cmsy250,  cmsy100,  cmsy118,  cmsy131,  cmsy160,  cmsy180,  cmsy210,  \
                cmsy250}},
-   { CMEX10,{ cmex250,  cmex100,  cmex118,  cmex131,  cmex160,  cmex180,  cmex210,  \
                cmex250}},
-   { RSFS10,{ rsfs250,  rsfs100,  rsfs118,  rsfs131,  rsfs160,  rsfs180,  rsfs210,  \
                rsfs250}},
-  { BBOLD10,{bbold250, bbold100, bbold118, bbold131, bbold160, bbold180, bbold210, \
                bbold250}},
- {STMARY10,{stmary250,stmary100,stmary118,stmary131,stmary160,stmary180,stmary210,stmary250}},
                
-  {   CYR10,{ wncyr83, wncyr100, wncyr118, wncyr131, wncyr160, wncyr180, wncyr210, \
                wncyr250}},
-   {   -999,{    NULL,     NULL,     NULL,     NULL,     NULL,     NULL,     NULL,   \
NULL}} +   {  CMR10,{  cmr250,  cmr1200,  cmr1200,  cmr1200,  cmr1200,  cmr1200,
+              cmr1200,  cmr1200,  cmr1200,  cmr1200,  cmr1200}},
+   { CMMI10,{ cmmi250,  cmmi100,  cmmi118,  cmmi131,  cmmi160,  cmmi180,
+              cmmi210,  cmmi250,  cmmi325,  cmmi450,  cmmi600}},
+   {CMMIB10,{cmmib250, cmmib100, cmmib118, cmmib131, cmmib160, cmmib180,
+             cmmib210, cmmib250, cmmib325, cmmib450, cmmib600}},
+   { CMSY10,{ cmsy250,  cmsy100,  cmsy118,  cmsy131,  cmsy160,  cmsy180,
+              cmsy210,  cmsy250,  cmsy325,  cmsy450,  cmsy600}},
+   { CMEX10,{ cmex250,  cmex100,  cmex118,  cmex131,  cmex160,  cmex180,
+              cmex210,  cmex250,  cmex325,  cmex450,  cmex600}},
+   { RSFS10,{ rsfs250,  rsfs100,  rsfs118,  rsfs131,  rsfs160,  rsfs180,
+              rsfs210,  rsfs250,  rsfs325,  rsfs450,  rsfs600}},
+  { BBOLD10,{bbold250, bbold100, bbold118, bbold131, bbold160, bbold180,
+             bbold210, bbold250, bbold325, bbold450, bbold600}},
+ {STMARY10,{stmary250,stmary100,stmary118,stmary131,stmary160,stmary180,
+            stmary210,stmary250,stmary325,stmary450,stmary600}},
+  {   CYR10,{wncyr250, wncyr100, wncyr118, wncyr131, wncyr160, wncyr180,
+             wncyr210, wncyr250, wncyr325, wncyr450, wncyr600}},
+  {CMMI10GR,{ cmmi250,  cmmi100,  cmmi118,  cmmi131,  cmmi160,  cmmi180,
+              cmmi210,  cmmi250,  cmmi325,  cmmi450,  cmmi600}},
+ {CMMI10BGR,{cmmib250, cmmib100, cmmib118, cmmib131, cmmib160, cmmib180,
+             cmmib210, cmmib250, cmmib325, cmmib450, cmmib600}},
+ {BBOLD10GR,{bbold250, bbold100, bbold118, bbold131, bbold160, bbold180,
+             bbold210, bbold250, bbold325, bbold450, bbold600}},
+   {   -999,{    NULL,     NULL,     NULL,     NULL,     NULL,     NULL,
+                 NULL,     NULL,     NULL,     NULL,     NULL}}
   }
  #endif
   ; /* --- end-of-ssfonttable[] --- */
@@ -534,12 +593,16 @@
 subraster *rastbezier();		/*handle\bezier(c0,r0)(c1,r1)(ct,rt)*/
 subraster *rastraise();			/* handle \raisebox{lift}{expr} */
 subraster *rastrotate();		/* handle \rotatebox{degs}{expr} */
+subraster *rastmagnify();		/* handle \magnify{magstep}{expr} */
 subraster *rastreflect();		/* handle \reflectbox[axis]{expr} */
 subraster *rastfbox();			/* handle \fbox{expr} */
 subraster *rastinput();			/* handle \input{filename} */
 subraster *rastcounter();		/* handle \counter{filename} */
+subraster *rasteval();			/* handle \eval{expression} */
 subraster *rasttoday();			/* handle \today[+/-tzdelta,ifmt] */
 subraster *rastcalendar();		/* handle \calendar[yaer,month] */
+subraster *rastenviron();		/* handle \environment */
+subraster *rastmessage();		/* handle \message */
 subraster *rastnoop();			/* handle \escape's to be flushed */
 
 /* --- sqrt --- */
@@ -559,6 +622,7 @@
 #define	ISDISPLAYSTYLE	(2)		/* set isdisplaystyle */
 #define	ISDISPLAYSIZE	(21)		/* set displaysize */
 #define	ISFONTSIZE	(3)		/* set fontsize */
+#define	ISMAGSTEP	(31)		/* set magstep */
 #define	ISWEIGHT	(4)		/* set aa params */
 #define	ISOPAQUE	(5)		/* set background opaque */
 #define	ISSUPER		(6)		/* set supersampling/lowpass */
@@ -575,6 +639,7 @@
 #define	ISSTRING	(11)		/* set ascii string mode */
 #define	ISSMASH		(12)		/* set (minimum) "smash" margin */
 #define	ISCONTENTTYPE	(13)		/*enable/disable Content-type lines*/
+#define	ISCONTENTCACHED	(14)		/* write Content-type to cache file*/
 
 /* ---
  * mathchardefs for symbols recognized by mimetex
@@ -618,11 +683,17 @@
     { "\\qbezier",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastbezier) },
     { "\\raisebox",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastraise) },
     { "\\rotatebox",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastrotate) },
+    { "\\magnify",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastmagnify) },
+    { "\\magbox",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastmagnify) },
     { "\\reflectbox",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastreflect) },
     { "\\fbox", NOVALUE,NOVALUE,NOVALUE,  (HANDLER)(rastfbox) },
+    { "\\boxed",NOVALUE,NOVALUE,NOVALUE,  (HANDLER)(rastfbox) },
     { "\\input",NOVALUE,NOVALUE,NOVALUE,  (HANDLER)(rastinput) },
+    { "\\evaluate",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rasteval) },
     { "\\today",NOVALUE,NOVALUE,NOVALUE,  (HANDLER)(rasttoday) },
     { "\\calendar",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastcalendar) },
+    { "\\environment",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastenviron) },
+    { "\\message",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastmessage) },
     { "\\counter",NOVALUE,NOVALUE,NOVALUE,(HANDLER)(rastcounter) },
     /* --- spaces --- */
     { "\\/",	1,	NOVALUE,NOVALUE,  (HANDLER)(rastspace) },
@@ -668,9 +739,13 @@
     { "\\mathbb",	  5,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
     { "\\rm",		  3,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
     { "\\text",		  3,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
+    { "\\textbf",	  3,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
     { "\\textrm",	  3,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
     { "\\mathrm",	  7,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
     { "\\cyr",		  8,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
+    { "\\textgreek",	  9,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
+    { "\\textbfgreek",	 10,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
+    { "\\textbbgreek",	 11,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
     { "\\mathbf",	  6,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
     { "\\bf",		  6,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
     { "\\mathtt",	  3,	 NOVALUE,NOVALUE, (HANDLER)(rastfont) },
@@ -695,18 +770,19 @@
     { "\\textstyle", ISDISPLAYSTYLE,   0,NOVALUE, (HANDLER)(rastflags) },
     { "\\displaysize",ISDISPLAYSIZE,NOVALUE,NOVALUE,(HANDLER)(rastflags)},
     { "\\tiny",      ISFONTSIZE,       0,NOVALUE, (HANDLER)(rastflags) },
-    { "\\scriptsize",ISFONTSIZE,       0,NOVALUE, (HANDLER)(rastflags) },
-    { "\\footnotesize",ISFONTSIZE,     1,NOVALUE, (HANDLER)(rastflags) },
-    { "\\small",     ISFONTSIZE,       1,NOVALUE, (HANDLER)(rastflags) },
-    { "\\normalsize",ISFONTSIZE,       2,NOVALUE, (HANDLER)(rastflags) },
-    { "\\large",     ISFONTSIZE,       3,NOVALUE, (HANDLER)(rastflags) },
-    { "\\Large",     ISFONTSIZE,       4,NOVALUE, (HANDLER)(rastflags) },
-    { "\\LARGE",     ISFONTSIZE,       5,NOVALUE, (HANDLER)(rastflags) },
-    { "\\huge",      ISFONTSIZE,       6,NOVALUE, (HANDLER)(rastflags) },
-    { "\\Huge",      ISFONTSIZE,       7,NOVALUE, (HANDLER)(rastflags) },
-    { "\\HUGE",      ISFONTSIZE,       7,NOVALUE, (HANDLER)(rastflags) },
+    { "\\scriptsize",ISFONTSIZE,       1,NOVALUE, (HANDLER)(rastflags) },
+    { "\\footnotesize",ISFONTSIZE,     2,NOVALUE, (HANDLER)(rastflags) },
+    { "\\small",     ISFONTSIZE,       3,NOVALUE, (HANDLER)(rastflags) },
+    { "\\normalsize",ISFONTSIZE,       4,NOVALUE, (HANDLER)(rastflags) },
+    { "\\large",     ISFONTSIZE,       5,NOVALUE, (HANDLER)(rastflags) },
+    { "\\Large",     ISFONTSIZE,       6,NOVALUE, (HANDLER)(rastflags) },
+    { "\\LARGE",     ISFONTSIZE,       7,NOVALUE, (HANDLER)(rastflags) },
+    { "\\huge",      ISFONTSIZE,       8,NOVALUE, (HANDLER)(rastflags) },
+    { "\\Huge",      ISFONTSIZE,       9,NOVALUE, (HANDLER)(rastflags) },
+    { "\\HUGE",      ISFONTSIZE,      10,NOVALUE, (HANDLER)(rastflags) },
     { "\\fontsize",  ISFONTSIZE, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
     { "\\fs",        ISFONTSIZE, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
+    { "\\magstep",   ISMAGSTEP,  NOVALUE,NOVALUE, (HANDLER)(rastflags) },
     { "\\shrinkfactor",ISSHRINK, NOVALUE,NOVALUE, (HANDLER)(rastflags) },
     { "\\sf",        ISSHRINK,   NOVALUE,NOVALUE, (HANDLER)(rastflags) },
     { "\\light",     ISWEIGHT,         0,NOVALUE, (HANDLER)(rastflags) },
@@ -724,6 +800,8 @@
     { "\\pnmparams",PNMPARAMS,   NOVALUE,NOVALUE, (HANDLER)(rastflags) },
     { "\\gammacorrection",ISGAMMA,NOVALUE,NOVALUE,(HANDLER)(rastflags) },
     { "\\nocontenttype",ISCONTENTTYPE, 0,NOVALUE, (HANDLER)(rastflags) },
+    { "\\nodepth",   ISCONTENTCACHED,  0,NOVALUE, (HANDLER)(rastflags) },
+    { "\\depth",     ISCONTENTCACHED,  1,NOVALUE, (HANDLER)(rastflags) },
     { "\\opaque",    ISOPAQUE,         0,NOVALUE, (HANDLER)(rastflags) },
     { "\\transparent",ISOPAQUE,        1,NOVALUE, (HANDLER)(rastflags) },
     { "\\squash",    ISSMASH,          3,1,       (HANDLER)(rastflags) },
@@ -743,8 +821,22 @@
     { "\\black",     ISCOLOR,          0,NOVALUE, (HANDLER)(rastflags) },
     { "\\white",     ISCOLOR,          7,NOVALUE, (HANDLER)(rastflags) },
     /* --- accents --- */
-    { "\\vec",	VECACCENT,    1,      0,  (HANDLER)(rastaccent) },
-    { "\\widevec", VECACCENT, 1,      0,  (HANDLER)(rastaccent) },
+    { "\\vec",	VECACCENT,    1,      1,  (HANDLER)(rastaccent) },
+    { "\\widevec", VECACCENT, 1,      1,  (HANDLER)(rastaccent) },
+    { "\\overarrow",      VECACCENT,1,1,  (HANDLER)(rastaccent) },
+    { "\\overrightarrow", VECACCENT,1,1,  (HANDLER)(rastaccent) },
+    { "\\Overrightarrow", VECACCENT,1,11, (HANDLER)(rastaccent) },
+    { "\\underarrow",     VECACCENT,0,1,  (HANDLER)(rastaccent) },
+    { "\\underrightarrow",VECACCENT,0,1,  (HANDLER)(rastaccent) },
+    { "\\Underrightarrow",VECACCENT,0,11, (HANDLER)(rastaccent) },
+    { "\\overleftarrow",  VECACCENT,1,-1, (HANDLER)(rastaccent) },
+    { "\\Overleftarrow",  VECACCENT,1, 9, (HANDLER)(rastaccent) },
+    { "\\underleftarrow", VECACCENT,0,-1, (HANDLER)(rastaccent) },
+    { "\\Underleftarrow", VECACCENT,0, 9, (HANDLER)(rastaccent) },
+    { "\\overleftrightarrow", VECACCENT,1, 0,(HANDLER)(rastaccent) },
+    { "\\Overleftrightarrow", VECACCENT,1,10,(HANDLER)(rastaccent) },
+    { "\\underleftrightarrow",VECACCENT,0, 0,(HANDLER)(rastaccent) },
+    { "\\Underleftrightarrow",VECACCENT,0,10,(HANDLER)(rastaccent) },
     { "\\bar",	BARACCENT,    1,      0,  (HANDLER)(rastaccent) },
     { "\\widebar", BARACCENT, 1,      0,  (HANDLER)(rastaccent) },
     { "\\hat",	HATACCENT,    1,      0,  (HANDLER)(rastaccent) },
@@ -1342,7 +1434,9 @@
     { "+",		43,	CMR10,   BINARYOP,	NULL },
     { "/",		47,	CMR10,   BINARYOP,	NULL },
     { ":",		58,	CMR10,   ORDINARY,	NULL },
+    { "\\colon",	58,	CMR10,   OPERATOR,	NULL },
     { ";",		59,	CMR10,   ORDINARY,	NULL },
+    { "\\semicolon",	59,	CMR10,   ORDINARY,	NULL },
     { "=",		61,	CMR10,   RELATION,	NULL },
     { "?",		63,	CMR10,   BINARYOP,	NULL },
     { "@",		64,	CMR10,   BINARYOP,	NULL },
@@ -2010,6 +2104,149 @@
     { "N0",		125,	CYR10,   VARIABLE,	NULL },
     { "<",		60,	CYR10,   VARIABLE,	NULL },
     { ">",		62,	CYR10,   VARIABLE,	NULL },
+
+    /* ------------------- C M M I G R ------------------------
+    Using "Beta code" <http://en.wikipedia.org/wiki/Beta_code>
+    to represent Greek characters in latin, e.g., type a to get
+    \alpha, etc.
+          symbol     charnum    family    class	    function
+    -------------------------------------------------------- */
+    /* --- uppercase greek letters --- */
+    { "G"/*\Gamma*/,	0,	CMMI10GR, VARIABLE,	NULL },
+    { "D"/*\Delta*/,	1,	CMMI10GR, VARIABLE,	NULL },
+    { "Q"/*\Theta*/,	2,	CMMI10GR, VARIABLE,	NULL },
+    { "L"/*\Lambda*/,	3,	CMMI10GR, VARIABLE,	NULL },
+    { "C"/*\Xi*/,	4,	CMMI10GR, VARIABLE,	NULL },
+    { "P"/*\Pi*/,	5,	CMMI10GR, VARIABLE,	NULL },
+    { "S"/*\Sigma*/,	6,	CMMI10GR, VARIABLE,	NULL },
+    { "U"/*\Upsilon*/,	7,	CMMI10GR, VARIABLE,	NULL },
+    { "F"/*\Phi*/,	8,	CMMI10GR, VARIABLE,	NULL },
+    { "Y"/*\Psi*/,	9,	CMMI10GR, VARIABLE,	NULL },
+    { "W"/*\Omega*/,	10,	CMMI10GR, VARIABLE,	NULL },
+    /* --- lowercase greek letters --- */
+    { "a"/*\alpha*/,	11,	CMMI10GR, VARIABLE,	NULL },
+    { "b"/*\beta*/,	12,	CMMI10GR, VARIABLE,	NULL },
+    { "g"/*\gamma*/,	13,	CMMI10GR, VARIABLE,	NULL },
+    { "d"/*\delta*/,	14,	CMMI10GR, VARIABLE,	NULL },
+    { "e"/*\epsilon*/,	15,	CMMI10GR, VARIABLE,	NULL },
+    { "z"/*\zeta*/,	16,	CMMI10GR, VARIABLE,	NULL },
+    { "h"/*\eta*/,	17,	CMMI10GR, VARIABLE,	NULL },
+    { "q"/*\theta*/,	18,	CMMI10GR, VARIABLE,	NULL },
+    { "i"/*\iota*/,	19,	CMMI10GR, VARIABLE,	NULL },
+    { "k"/*\kappa*/,	20,	CMMI10GR, VARIABLE,	NULL },
+    { "l"/*\lambda*/,	21,	CMMI10GR, VARIABLE,	NULL },
+    { "m"/*\mu*/,	22,	CMMI10GR, VARIABLE,	NULL },
+    { "n"/*\nu*/,	23,	CMMI10GR, VARIABLE,	NULL },
+    { "c"/*\xi*/,	24,	CMMI10GR, VARIABLE,	NULL },
+    { "p"/*\pi*/,	25,	CMMI10GR, VARIABLE,	NULL },
+    { "r"/*\rho*/,	26,	CMMI10GR, VARIABLE,	NULL },
+    { "s"/*\sigma*/,	27,	CMMI10GR, VARIABLE,	NULL },
+    { "t"/*\tau*/,	28,	CMMI10GR, VARIABLE,	NULL },
+    { "u"/*\upsilon*/,	29,	CMMI10GR, VARIABLE,	NULL },
+    { "f"/*\phi*/,	30,	CMMI10GR, VARIABLE,	NULL },
+    { "x"/*\chi*/,	31,	CMMI10GR, VARIABLE,	NULL },
+    { "y"/*\psi*/,	32,	CMMI10GR, VARIABLE,	NULL },
+    { "w"/*\omega*/,	33,	CMMI10GR, VARIABLE,	NULL },
+   #if 0
+    { "?"/*\varepsilon*/,34,	CMMI10GR, VARIABLE,	NULL },
+    { "?"/*\vartheta*/,	35,	CMMI10GR, VARIABLE,	NULL },
+    { "?"/*\varpi*/,	36,	CMMI10GR, VARIABLE,	NULL },
+    { "?"/*\varrho*/,	37,	CMMI10GR, VARIABLE,	NULL },
+    { "?"/*\varsigma*/,	38,	CMMI10GR, VARIABLE,	NULL },
+    { "?"/*\varphi*/,	39,	CMMI10GR, VARIABLE,	NULL },
+   #endif
+    /* ------------------- C M M I B G R ----------------------
+    Using "Beta code" <http://en.wikipedia.org/wiki/Beta_code>
+    to represent Greek characters in latin, e.g., type a to get
+    \alpha, etc.
+          symbol     charnum    family    class	    function
+    -------------------------------------------------------- */
+    /* --- uppercase greek letters --- */
+    { "G"/*\Gamma*/,	0,	CMMI10BGR, VARIABLE,	NULL },
+    { "D"/*\Delta*/,	1,	CMMI10BGR, VARIABLE,	NULL },
+    { "Q"/*\Theta*/,	2,	CMMI10BGR, VARIABLE,	NULL },
+    { "L"/*\Lambda*/,	3,	CMMI10BGR, VARIABLE,	NULL },
+    { "C"/*\Xi*/,	4,	CMMI10BGR, VARIABLE,	NULL },
+    { "P"/*\Pi*/,	5,	CMMI10BGR, VARIABLE,	NULL },
+    { "S"/*\Sigma*/,	6,	CMMI10BGR, VARIABLE,	NULL },
+    { "U"/*\Upsilon*/,	7,	CMMI10BGR, VARIABLE,	NULL },
+    { "F"/*\Phi*/,	8,	CMMI10BGR, VARIABLE,	NULL },
+    { "Y"/*\Psi*/,	9,	CMMI10BGR, VARIABLE,	NULL },
+    { "W"/*\Omega*/,	10,	CMMI10BGR, VARIABLE,	NULL },
+    /* --- lowercase greek letters --- */
+    { "a"/*\alpha*/,	11,	CMMI10BGR, VARIABLE,	NULL },
+    { "b"/*\beta*/,	12,	CMMI10BGR, VARIABLE,	NULL },
+    { "g"/*\gamma*/,	13,	CMMI10BGR, VARIABLE,	NULL },
+    { "d"/*\delta*/,	14,	CMMI10BGR, VARIABLE,	NULL },
+    { "e"/*\epsilon*/,	15,	CMMI10BGR, VARIABLE,	NULL },
+    { "z"/*\zeta*/,	16,	CMMI10BGR, VARIABLE,	NULL },
+    { "h"/*\eta*/,	17,	CMMI10BGR, VARIABLE,	NULL },
+    { "q"/*\theta*/,	18,	CMMI10BGR, VARIABLE,	NULL },
+    { "i"/*\iota*/,	19,	CMMI10BGR, VARIABLE,	NULL },
+    { "k"/*\kappa*/,	20,	CMMI10BGR, VARIABLE,	NULL },
+    { "l"/*\lambda*/,	21,	CMMI10BGR, VARIABLE,	NULL },
+    { "m"/*\mu*/,	22,	CMMI10BGR, VARIABLE,	NULL },
+    { "n"/*\nu*/,	23,	CMMI10BGR, VARIABLE,	NULL },
+    { "c"/*\xi*/,	24,	CMMI10BGR, VARIABLE,	NULL },
+    { "p"/*\pi*/,	25,	CMMI10BGR, VARIABLE,	NULL },
+    { "r"/*\rho*/,	26,	CMMI10BGR, VARIABLE,	NULL },
+    { "s"/*\sigma*/,	27,	CMMI10BGR, VARIABLE,	NULL },
+    { "t"/*\tau*/,	28,	CMMI10BGR, VARIABLE,	NULL },
+    { "u"/*\upsilon*/,	29,	CMMI10BGR, VARIABLE,	NULL },
+    { "f"/*\phi*/,	30,	CMMI10BGR, VARIABLE,	NULL },
+    { "x"/*\chi*/,	31,	CMMI10BGR, VARIABLE,	NULL },
+    { "y"/*\psi*/,	32,	CMMI10BGR, VARIABLE,	NULL },
+    { "w"/*\omega*/,	33,	CMMI10BGR, VARIABLE,	NULL },
+   #if 0
+    { "?"/*\varepsilon*/,34,	CMMI10BGR, VARIABLE,	NULL },
+    { "?"/*\vartheta*/,	35,	CMMI10BGR, VARIABLE,	NULL },
+    { "?"/*\varpi*/,	36,	CMMI10BGR, VARIABLE,	NULL },
+    { "?"/*\varrho*/,	37,	CMMI10BGR, VARIABLE,	NULL },
+    { "?"/*\varsigma*/,	38,	CMMI10BGR, VARIABLE,	NULL },
+    { "?"/*\varphi*/,	39,	CMMI10BGR, VARIABLE,	NULL },
+   #endif
+    /* ------------------ B B O L D G R -----------------------
+    Using "Beta code" <http://en.wikipedia.org/wiki/Beta_code>
+    to represent Greek characters in latin, e.g., type a to get
+    \alpha, etc.
+          symbol     charnum    family    class	    function
+    -------------------------------------------------------- */
+    /* --- uppercase greek letters --- */
+    { "G"/*\Gamma*/,	0,	BBOLD10GR, VARIABLE,	NULL },
+    { "D"/*\Delta*/,	1,	BBOLD10GR, VARIABLE,	NULL },
+    { "Q"/*\Theta*/,	2,	BBOLD10GR, VARIABLE,	NULL },
+    { "L"/*\Lambda*/,	3,	BBOLD10GR, VARIABLE,	NULL },
+    { "C"/*\Xi*/,	4,	BBOLD10GR, VARIABLE,	NULL },
+    { "P"/*\Pi*/,	5,	BBOLD10GR, VARIABLE,	NULL },
+    { "S"/*\Sigma*/,	6,	BBOLD10GR, VARIABLE,	NULL },
+    { "U"/*\Upsilon*/,	7,	BBOLD10GR, VARIABLE,	NULL },
+    { "F"/*\Phi*/,	8,	BBOLD10GR, VARIABLE,	NULL },
+    { "Y"/*\Psi*/,	9,	BBOLD10GR, VARIABLE,	NULL },
+    { "W"/*\Omega*/,	10,	BBOLD10GR, VARIABLE,	NULL },
+    /* --- lowercase greek letters --- */
+    { "a"/*\alpha*/,	11,	BBOLD10GR, VARIABLE,	NULL },
+    { "b"/*\beta*/,	12,	BBOLD10GR, VARIABLE,	NULL },
+    { "g"/*\gamma*/,	13,	BBOLD10GR, VARIABLE,	NULL },
+    { "d"/*\delta*/,	14,	BBOLD10GR, VARIABLE,	NULL },
+    { "e"/*\epsilon*/,	15,	BBOLD10GR, VARIABLE,	NULL },
+    { "z"/*\zeta*/,	16,	BBOLD10GR, VARIABLE,	NULL },
+    { "h"/*\eta*/,	17,	BBOLD10GR, VARIABLE,	NULL },
+    { "q"/*\theta*/,	18,	BBOLD10GR, VARIABLE,	NULL },
+    { "i"/*\iota*/,	19,	BBOLD10GR, VARIABLE,	NULL },
+    { "k"/*\kappa*/,	20,	BBOLD10GR, VARIABLE,	NULL },
+    { "l"/*\lambda*/,	21,	BBOLD10GR, VARIABLE,	NULL },
+    { "m"/*\mu*/,	22,	BBOLD10GR, VARIABLE,	NULL },
+    { "n"/*\nu*/,	23,	BBOLD10GR, VARIABLE,	NULL },
+    { "c"/*\xi*/,	24,	BBOLD10GR, VARIABLE,	NULL },
+    { "p"/*\pi*/,	25,	BBOLD10GR, VARIABLE,	NULL },
+    { "r"/*\rho*/,	26,	BBOLD10GR, VARIABLE,	NULL },
+    { "s"/*\sigma*/,	27,	BBOLD10GR, VARIABLE,	NULL },
+    { "t"/*\tau*/,	28,	BBOLD10GR, VARIABLE,	NULL },
+    { "u"/*\upsilon*/,	29,	BBOLD10GR, VARIABLE,	NULL },
+    { "f"/*\phi*/,	30,	BBOLD10GR, VARIABLE,	NULL },
+    { "x"/*\chi*/,	31,	BBOLD10GR, VARIABLE,	NULL },
+    { "y"/*\psi*/,	32,	BBOLD10GR, VARIABLE,	NULL },
+    { "w"/*\omega*/,	127,	BBOLD10GR, VARIABLE,	NULL },
     /* --- trailer record --- */
     { NULL,		-999,	-999,	-999,		NULL }
  }
Index: loncom/cgi/mimeTeX/mimetex.html
diff -u loncom/cgi/mimeTeX/mimetex.html:1.4 loncom/cgi/mimeTeX/mimetex.html:1.5
--- loncom/cgi/mimeTeX/mimetex.html:1.4	Thu Dec  4 12:17:13 2008
+++ loncom/cgi/mimeTeX/mimetex.html	Sat Jun  9 00:58:11 2012
@@ -1,6 +1,6 @@
 <!--
  ****************************************************************************
- * Copyright(c) 2002-2008, John Forkosh Associates, Inc. All rights reserved.
+ * Copyright(c) 2002-2012, John Forkosh Associates, Inc. All rights reserved.
  *           http://www.forkosh.com   mailto: john@forkosh.com
  * ==========================================================================
  * This file is part of mimeTeX, which is free software. You may redistribute
@@ -22,7 +22,7 @@
  -->
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">
- <!-- "http://www.forkosh.dreamhost.com/loose.dtd" -->
+ <!-- "http://www.forkosh.com/loose.dtd" -->
 
 <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Preamble
@@ -84,29 +84,116 @@
                   color: black }
       p.warning  { color: red } /* defines  p class=warning */
     </style>
-  <script type="text/javascript">
-    <!--
-    // add/clear text to expression
-    function eqntext(eqn)
-      { var eqnSrc = document.getElementById(eqn).src;
-        var texSrc = eqnSrc.substring(eqnSrc.indexOf('?')+1,eqnSrc.length);
-        addtext(texSrc); }
-    function addtext(text)
-      { cleartext();
-        document.expression.formdata.value += unescape(text);
-        document.expression.formdata.focus(); }
-    function cleartext()
-      { document.expression.formdata.value = "";
-        //document.inlineframe.value = "";
-        document.expression.formdata.focus(); }
-    -->
-  </script>
-
-<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-+ javascript from mathtran.org to render <img alt="tex:math expression">
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-<script type="text/javascript"
-    src="http://www.mathtran.org/js/mathtran_img.js"></script>
+    <style type="text/css">
+      a.info{
+        position:relative;
+        z-index:24;
+        /*background-color:#8692A5;*/
+        visibility: inherit;
+        text-decoration: none; }
+      a.info:hover{
+        z-index:25;
+        /*background-color:#999999;
+        color: #FFFF00;*/
+        text-decoration: none; }
+      a.info span{
+        display: none;
+        /*color: #FFFF00;*/ }
+      a.info:hover span{
+        display:block;
+        position:absolute;
+        top:2em;
+        left:2em;
+        /*width:15em;*/
+        border:1px solid #330066;
+        background-color:#FFFF99;
+        color:#660000;
+        text-align: left;
+        font-size: 13px;
+        font-weight: normal;
+        margin: 3px;
+        padding: 6px; }
+      a.info:link {
+        text-decoration: none;
+        /*color: #FFFF00;*/ /*themecolour1%0;*/ }
+      a.info:visited {
+        text-decoration: none;
+        /*color: #FFFF00;*/ /*themecolour1%0;*/ }
+    </style>
+    <script type="text/javascript">
+      <!--
+      // add/clear text to expression
+      function eqntext(eqn)
+        { var eqnSrc = document.getElementById(eqn).src;
+          var texSrc = eqnSrc.substring(eqnSrc.indexOf('?')+1,eqnSrc.length);
+          addtext(texSrc); }
+      function addtext(text)
+        { cleartext();
+          document.expression.formdata.value += unescape(text);
+          document.expression.formdata.focus(); }
+      function cleartext()
+        { document.expression.formdata.value = "";
+          //document.inlineframe.value = "";
+          document.expression.formdata.focus(); }
+      -->
+    </script>
+
+  <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+  + php functions to use Vertical-Align: info from mimetex
+  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+  <?php
+  //$mimetexurl = "../cgi-bin/mimetex.cgi?";
+  $mimetexurl = "http://www.forkosh.com/mimetex.cgi?";
+  //$mimetexurl = "http://psi2star/cgi-bin/mimetex.cgi?";
+  function verticalalign( $expression ) {
+    global $mimetexurl;
+    // note: curl_init() stops at the first whitespace char in $url argument
+    $expression = ereg_replace(" ","~",$expression); // remove whitespace
+    $url     = $mimetexurl . "\depth~" . $expression;
+    $valign  = "0";
+    $options = array(
+        CURLOPT_RETURNTRANSFER => true,     // return web page
+        CURLOPT_HEADER         => true);    // return headers
+    $ch      = curl_init( $url );
+    //curl_setopt_array( $ch, $options );
+    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
+    curl_setopt( $ch, CURLOPT_HEADER, true );
+    $gif     = curl_exec( $ch );
+    $errno   = curl_errno( $ch );
+    $error   = curl_error( $ch );
+    //$info  = curl_getinfo( $ch );
+    curl_close( $ch );
+    //echo '<br> url= ',$url,'<br>',"\n";
+    //echo '<br> gif=<br>',$gif,'<br>',"\n";
+    if ( $errno == 0 ) {
+      $fields = explode("Vertical-Align:",$gif);
+      $vfield = trim($fields[1]);
+      $fldlen = strspn($vfield,"+-0123456789");
+      $valign = substr($vfield,0,$fldlen); }
+    else {
+      echo 'verticalalign> errno ',$errno,' = ',$error,'<br><br>',"\n"; }
+    return $valign;
+    }
+  function mimetextag( $label, $expression ) {
+    global $mimetexurl;
+    $valign = verticalalign($expression);
+    $url    = $mimetexurl . $expression;
+    //echo ' valign=',$valign,' ',"\n";
+    echo  '<a href="#preview" class="info"><img id="',$label,'" ';
+    echo  ' onclick="eqntext(',"'",$label,"'",')"  ';
+    echo  ' src="',$url,'" ';
+    echo  ' style="Vertical-Align:',$valign,'px"   ';
+    echo  ' alt="" border=0>';
+    echo   '<span>',$expression,'</span>';
+    echo  '</a>', "\n";
+    }
+  ?>
+
+  <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+  + javascript from mathtran.org to render <img alt="tex:math expression">
+  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+  <!-- script type="text/javascript"
+    src="http://www.mathtran.org/js/mathtran_img.js"></script -->
   </head>
 <body>
 
@@ -125,7 +212,10 @@
    <td align="center" valign="middle">
     <center> <font color="maroon" size=4>
     <b><nobr>m i m e T e X &nbsp; m a n u a l</nobr></b> <br>
-    <font size=3>( for mimeTeX version 1.70 )</font> <br>
+    <font size=3>( for mimeTeX version
+      <a href="#preview"><img id="imageVer1" onclick="eqntext('imageVer1')"
+      src="../cgi-bin/mimetex.cgi?\small\versionnumber"
+      alt="" border=0 align=bottom></a> )</font> <br>
     <font size=3> <b>Click for:</b>&nbsp;
      <!-- <a href="http://www.forkosh.com" target="_top">homepage</a>, &nbsp;
      <a href="http://www.forkosh.com/resume.html" target="_top">resume</a> -->
@@ -133,6 +223,12 @@
      LaTeX tutorial</a><br>
      <a href="http://www.forkosh.com/mimetex.html" target="_top">
      mimeTeX QuickStart</a><br>
+
+     <a href="http://www.forkosh.com/cgi-bin/weblist.cgi?-t=weblist
+     &-f=sources/weblistemplate.html&files=@sources/sourcecode/mimetex.lis
+     &copyright=2002-2011&counter=mimetex
+     &title=mimetex&description=m i m e T e X  S o u r c e   L i s t i n g"
+     target="_top">mimeTeX Source Listing</a><br>
      <a href="http://www.forkosh.com/mimetex.zip">
      <!-- jfa <a href="ftp://ftp.tex.ac.uk/tex-archive/support/mimetex/mimetex.zip"></a> \
-->  <font size=4>download&nbsp;mimeTeX</font></a></font>
@@ -144,11 +240,18 @@
     alt="" border=0 align=middle></a> <br>
     <a href="#examples">more_examples...</a> </td>
   </tr>
+  <tr> <td align="center" colspan="3">
+    This page discusses mimeTeX, a program that displays math on the web.<br>
+    (<font size=3>See
+    <a href="http://www.americanscientist.org/issues/pub/2009/3/writing-math-on-the-web/1"
 +    target="_top">Writing&nbsp;Math&nbsp;on&nbsp;the&nbsp;Web</a>
+    for a more general discussion.</font>)
+    </td> </tr>
  </table>
 </center>
 <hr size=4>
 <center><b><font color="maroon" size=3>
-Copyright <font size=5>&copy;</font> 2002-2008,
+Copyright <font size=5>&copy;</font> 2002-2012,
 <a href="http://www.forkosh.com">John Forkosh Associates, Inc.</a> <br>
 email: <a href="mailto:john&#64;forkosh&#46;com">john&#64;forkosh&#46;com</a>
 </font></b> <br><br>
@@ -177,7 +280,8 @@
    <a href="#introduction">&nbsp; (I) Introduction &nbsp;</a><br>
     <a href="#quickstart"> a. Quick Start </a><br>
     <a href="#examples">   b. Examples </a><br>
-    <a href="#gpl">        c. GPL License </a> </font> </td>
+    <a href="#scripts">    c. Scripts&amp;Plugins </a><br>
+    <a href="#gpl">        d. GPL License </a> </font> </td>
   <td valign="top" align="center" width=150> <font size=3>
    <a href="#build">&nbsp; (II) Building mimeTeX &nbsp;</a><br>
     <a href="#compile">    a. Compile </a><br>
@@ -193,7 +297,8 @@
     <a href="#array">      e. \begin{array} </a><br>
     <a href="#picture">    f. \picture(&nbsp;){&nbsp;} </a><br>
     <a href="#commands">   g. Other Commands </a><br>
-    <a href="#exceptions"> h. Other Exceptions </a> </font> </td>
+    <a href="#exceptions"> h. Other Exceptions </a><br>
+    <a href="#messages">   i. Errors and Messages </a> </font> </td>
   <td valign="top" align="center" width=150> <font size=3>
    <a href="#appendices">&nbsp; &nbsp; (IV) Appendices &nbsp; &nbsp;</a><br>
     <a href="#fonts">      a. Fonts </a><br>
@@ -202,11 +307,31 @@
     <br><a href="#remarks"> &nbsp; Remarks &nbsp; </a> </font> </td>
  </tr>
 </table>
+</center>
+
+<!-- br -->
+<p style="margin-left:3em;margin-right:3em;">
+   <font color="blue" size=3> This page contains more information
+   than you'll probably need to read.  If you follow the
+   <font color="maroon">Installation&nbsp;and&nbsp;Usage&nbsp;Summary</font>
+   below, try installing mimeTeX immediately.  <!-- If you need
+   more information, --> Or continue reading until you feel comfortable
+   trying to install mimeTeX.  <!-- Return to this page as needed. -->
+   Prerequisites are: some knowledge of your OS's shell,
+   of installing cgi's, of LaTeX. </font>
+   <font color="maroon" size=3> <br>
+   &nbsp; &nbsp; &nbsp; &nbsp;
+        <b>&quot</b><i>Computers are like Old Testament gods<b>:</b>
+        lots of rules and no mercy.</i><b>&quot</b><br>
+   &nbsp; &nbsp; &nbsp; &nbsp;
+        <b>&#150;&#150;</b> Joseph Campbell, The Power of Myth &nbsp;
+        (Doubleday 1988, page 18) </font> </p>
 
 <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 + Installation and Usage Summary
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-<br>
+<!-- br -->
+<center>
 <table border="0">
 <tr> <!-- banner -->
  <td align="left">
@@ -260,277 +385,47 @@
     And mimeTeX is an entirely separate little program that doesn't use
     TeX or its fonts in any way.  It's just one cgi that you put in your
     site's cgi-bin/ directory, with no other dependencies.  So mimeTeX
-    is very easy to <a href="#quickbuild">install</a>.  And it's equally
-    easy to use.  Just place an html &lt;img&gt; tag in your document
-    wherever you want to see the corresponding LaTeX expression.
-    For example, </p>
-<pre>  &lt;img&nbsp;src="../cgi-bin/mimetex.cgi?f(x)=\int_{-\infty}^xe^{-t^2}dt"
-   alt="" border=0 align=middle&gt;</pre> <p class="continue">immediately
-    generates the corresponding gif image on-the-fly, displaying
-    <a href="#preview"><img id="imageI1" onclick="eqntext('imageI1')"
-    src="../cgi-bin/mimetex.cgi?\normalsize
-    f(x)=\int\limits_{-\infty}^xe^{-t^2}dt"
-    alt="" border=0 style="Vertical-Align:-11px"></a>
-    wherever you put that &lt;img&gt tag.
+    is very easy to <a href="#build">install</a>. <br>
+    <nobr> &nbsp; &nbsp; &nbsp; &nbsp;
+       Just download <a href="http://www.forkosh.com/mimetex.zip">
+       mimetex.zip</a> and then type </nobr> <br>
+       <nobr><b> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+          unzip mimetex.zip</b></nobr> <br>
+       <nobr><b> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+          cc &#150;DAA mimetex.c gifsave.c
+          &#150;lm &#150;o mimetex.cgi</b></nobr> <br>
+    <nobr> &nbsp; &nbsp; &nbsp; &nbsp;
+       Now just <b>mv</b> mimetex.cgi to your <b>cgi-bin/</b>
+       directory, </nobr> <br>
+    <nobr> &nbsp; &nbsp; &nbsp; &nbsp;
+       set permissions as necessary, and you're all done. </nobr> <br>
+    <br>
+    And mimeTeX is equally easy to <a href="#quickstart">use</a><b>:</b>
+    &nbsp; just place an html &lt;img&gt; tag in your document
+    wherever you want to see the corresponding LaTeX expression. <br>
+    <nobr> &nbsp; &nbsp; &nbsp; &nbsp;
+       For example, the &lt;img&gt tag </nobr> <br>
+       <nobr><b> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+          &lt;img&nbsp;
+          src="../cgi-bin/mimetex.cgi?f(x)=\int_{-\infty}^xe^{-t^2}dt" \
&gt;</b></nobr><br> +    <nobr> &nbsp; &nbsp; &nbsp; &nbsp;
+       immediately generates the corresponding gif image on-the-fly,</nobr><br>
+       <nobr> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+          displaying &nbsp;
+          <?php mimetextag('imageI1',
+          '\normalsize f(x)=\int\limits_{-\infty}^xe^{-t^2}dt'); ?>
+          &nbsp; wherever you put that tag.</nobr><br>
+    <br>
     MimeTeX doesn't need intermediate dvi-to-gif conversion, and it doesn't
     create separate gif files for each converted expression.
     (But you can enable image caching with mimeTeX's
     &nbsp; <b>-DCACHEPATH=\&quot;<i>path/</i>\&quot;</b> &nbsp;
-    <a href="#options">compile&nbsp;option</a>.) </p>
-
-<h3> <a name="plugins">
-mimeTeX plugins<font size=5>...</font></a> </h3>
-<p> There's no inherent need to repeatedly write the cumbersome
-    &lt;img&gt; tag illustrated above.  You can write your own <a href=
-    "http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JSPIntro9.html#wp73314"
-    target="_top">custom&nbsp;tags</a>,
-    or write a wrapper&nbsp;script around mimeTeX to simplify the
-    notation. </p>
-
-<p style="margin-bottom:0">  For example,
-    the following javascript snippet (based on
-    <a href="http://www.mathtran.org" target="_top">mathtran</a>'s
-    <a href="http://www.mathtran.org/js/mathtran_img.js"
-    target="_top">mathtran_img.js</a>) lets you just write &nbsp;
-    <b>&lt;img&nbsp;alt="mimetex:c=\sqrt{a^2+b^2}"&gt;</b> &nbsp;
-    wherever you want to see&nbsp;<a href="#preview"><img id="imageJS1"
-    onclick="eqntext('imageJS1')" src="../cgi-bin/mimetex.cgi?
-    \normalsize c=\sqrt{a^2+b^2}" alt="" border=0
-    style="Vertical-Align:-1px"></a>&nbsp; </p>
-    <pre class="medium" style="margin-top:0;margin-bottom:0"
->   &lt;script type="text/javascript"&gt;
-   &lt;!--
-   // Create a namespace to hold variables and functions
-   mimetex = new Object();
-   // Change this to use your server
-   mimetex.imgSrc = "http://www.<i>yourdomain</i>.com/cgi-bin/mimetex.cgi?";
-   // Transform the whole document: add src to each img with
-   // alt text starting with "mimetex:", unless img already has a src.
-   mimetex.init = function () {
-       if (! document.getElementsByTagName) return;
-       var objs = document.getElementsByTagName("img");
-       var len  = objs.length;
-       for (i=0; i&lt;len; i++) {
-          var img = objs[i];
-          if (img.alt.substring(0,8) == 'mimetex:')
-             if (!img.src) {
-                var tex_src = img.alt.substring(8);
-                img.src = mimetex.imgSrc + encodeURIComponent(tex_src);
-                // Append TEX to the class of the IMG.
-                img.className +=' tex'; }
-          }
-       mimetex.hideElementById("mimetex.error"); }
-   // Utility function
-   mimetex.hideElementById = function (id) {
-       var obj = document.getElementById(id);
-       if (obj) obj.style.display = 'none'; }
-   // resolve a cross-browser issue (see <a \
href="http://scottandrew.com/weblog/articles/cbs-events" \
                target="_top">CBS&nbsp;events</a>)
-   mimetex.addEvent = function (obj, evType, fn, useCapture) {
-       if (obj.addEventListener) { //For Mozilla.
-           obj.addEventListener(evType, fn, useCapture);
-           return true; }
-       else if (obj.attachEvent) { //For Internet Explorer.
-           var r = obj.attachEvent("on"+evType, fn);
-           return r; }
-       }
-   // Initialize after entire document is loaded
-   mimetex.addEvent(window, 'load', mimetex.init, false);
-   --&gt;
-   &lt;/script&gt;</pre>
-
-<p style="margin-bottom:0">
-    Bulletin boards, wikis, etc, can also incorporate mimeTeX images
-    with short scripts.  For example, if you're using
-    <a href="http://www.phpbb.com" target="_top">phpBB2</a>, then
-    <a href="http://www.themathforum.com/" target="_top">Jameson</a>
-    contributed the following typical one-line mod that lets you write
-    <b>[tex]&nbsp;c=\sqrt{a^2+b^2}&nbsp;[/tex]</b> to obtain the
-    same&nbsp;<a href="#preview"><img id="imageJS2"
-    onclick="eqntext('imageJS2')" src="../cgi-bin/mimetex.cgi?
-    \normalsize c=\sqrt{a^2+b^2}" alt="" border=0
-    style="Vertical-Align:-1px"></a> image illustrated above&nbsp; </p>
-    <pre class="medium" style="margin-top:0;margin-bottom:0"
->   #--------[open]-----------------------------------------------------
-     /includes/bbcode.php
-   #--------[find]-----------------------------------------------------
-     // Remove our padding from the string..
-   #--------[before, add]----------------------------------------------
-     $text = preg_replace('/\[tex\](.*?)\[\/tex\]/ie',
-     "'&lt;img src=\"/cgi-bin/mimetex.cgi?'.rawurlencode('$1').'\" align=\"middle\" \
                /&gt;'",
-     $text);</pre>
-<p class="continue" style="margin-top:0"> If you're using
-     <a href="http://www.phpbb.com" target="_top">phpBB3</a>,
-     then no mod is even needed.
-     Just click Postings from the Administrator Control Panel,
-     and add the custom BBCode&nbsp;<b>[tex]{TEXT}[/tex]</b> &nbsp;
-     with the HTML replacement
-     <b>&lt;img&nbsp;src="/cgi-bin/mimetex.cgi?{TEXT}"&nbsp;align=middle&gt;</b></p>
-
-<p> Similarly, <a href="http://www.pmichaud.com/wiki/PmWiki/PmWiki"
-    target="_top">PmWiki</a> also has a
-    <a href="http://www.pmichaud.com/wiki/Cookbook/MimeTeX" target="_top">
-    mimeTeX&nbsp;plugin</a> that lets you just write
-    <b>{$&nbsp;f(x)=\int_{-\infty}^xe^{-t^2}dt&nbsp;$}</b>
-    to obtain that same image. &nbsp; Several other packages
-    also have similar mimeTeX plugins: </p>
-    <center><table>
-     <tr> <td align=center> <u>&nbsp;<b>Package</b>&nbsp;</u> </td>
-      <td> &nbsp; </td>
-      <td align=center> <u>&nbsp;&nbsp;<b>Plugin</b>&nbsp;&nbsp;</u> </td>
-      </tr>
-     <tr> <td align=center>
-	  <a href="http://www.pmichaud.com/wiki/PmWiki/PmWiki" target="_top">
-	  PmWiki</a> </td> <td> &nbsp; </td>
-	  <td align=center>
-	  <a href="http://www.pmichaud.com/wiki/Cookbook/MimeTeX"
-	  target="_top">mimeTeX&nbsp;plugin</a> </td> </tr>
-     <tr> <td align=center>
-	  <!-- a href="http://www.wikimedia.org/wiki/Main_Page" -->
-	  <a href="http://www.wikimediafoundation.org/wiki/Main_Page"
-          target="_top">Wikimedia</a> </td>
-	  <td align=center> &nbsp; </td>
-	  <td align=center>
-	  <!-- a href="http://meta.wikimedia.org/wiki/Mimetex_alternative" -->
-	  <a href="http://www.mediawiki.org/wiki/Mimetex_alternative"
-	  target="_top">&quot;mimeTeX&nbsp;alternative&quot;</a> </td> </tr>
-<!-- ***redirect loop***
-     <tr> <td align=center>
-	  <a href="http://www.unitorganizer.com/mathwiki/index.php/Main_Page"
-	  target="_top">MathWiki</a> </td> <td> &nbsp; </td>
-	  <td align=center> <a href=
-	  "http://www.unitorganizer.com/mathwiki/index.php/MimetexParser"
-	  target="_top">&quot;mimeTeX&nbsp;Parser&quot;</a> </td> </tr>
--->
-     <tr> <td align=center>
-	  <a href="http://forums.punbb.org/" target="_top">PunBB</a> </td>
-	  <td> &nbsp; </td> <td align=center>
-	  <a href="http://www.math-linux.com/spip.php?article44"
-	  target="_top">mimeTeX&nbsp;plugin</a> </td> </tr>
-     <tr> <td align=center>
-	  <!-- a href="http://www.sixapart.com/movabletype/" -->
-	  <a href="http://www.movabletype.com/"
-	  target="_top">Movable&nbsp;Type</a> </td> <td> &nbsp; </td>
-	  <td align=center> <a href=
-	  "http://www.unitorganizer.com/myblog/2006/08/creating_equations_in_movable.html"
-          target="_top">mimeTeX&nbsp;plugin</a> </td> </tr>
-     <tr> <td align=center>
-	  <a href="http://wordpress.org/" target="_top">WordPress</a> </td>
-	  <td> &nbsp; </td> <td align=center> <a href=
-	  "http://www.anlak.com/?page_id=66" target="_top">
-     <!-- "http://sixthform.info/steve/wordpress/index.php?p=13&page=2" -->
-	  mimeTeX&nbsp;plugin</a> <!-- &nbsp; (see item 9) --> </td> </tr>
-     <!--- dead links --->
-     <!-- tr> <td align=center>
-	  <a href="http://www.phpbb.com" target="_top">phpBB</a> </td>
-	  <td> &nbsp; </td> <td align=center>
-	  <a href=
-	  "http://www.themathforum.com/math/showthread.php?p=621#post621"
-	  target="_top">mimeTeX&nbsp;plugin</a> </td> </tr -->
-     <!-- tr> <td align=center>
-	  <a href="http://www.mamboserver.com/" target="_top">Mambo</a> </td>
-	  <td> &nbsp; </td> <td align=center>
-	  <a href="http://mamboxchange.com/projects/mimetexbot/"
-	  target="_top">&quot;mimeTeX&nbsp;bot&quot;</a> </td> </tr -->
-    </table></center>
-
-<p> <b>Please note:</b> If you're writing your own plugin for mimeTeX,
-    please don't write php code using <b>system(&nbsp;)</b>, or any other
-    shell escape mechanism, just to cache images.  Use mimeTeX's
-    &nbsp; <b>-DCACHEPATH=\&quot;<i>path/</i>\&quot;</b> &nbsp;
-    <a href="#options">compile&nbsp;option</a> instead.
-    <b>system(&nbsp;)</b> raises security
-    issues, either real ones if used carelessly, or just in the minds of
-    system administrators.  Either way, I've received many emails from
-    people unable to use mimeTeX because of unnecessary <b>system(&nbsp;)</b>
-    calls prohibited by security-conscious sysadmins.  MimeTeX itself poses
-    minimal risk when used as illustrated above, but you're responsible
-    for any plugin/wrapper script you write around it. </p>
-
-<h3> <a name="valignment">
-Vertical alignment<font size=5>...</font></a> </h3>
-<p> An image like
-    <a href="#preview"><img id="imageAV1" onclick="eqntext('imageAV1')"
-    src="../cgi-bin/mimetex.cgi?
-    \normalsize f(x)=\int\limits_{-\infty}^xe^{-t^2}dt"
-    alt="" border=0 align=middle></a>
-    doesn't look as good as the same image
-    <a href="#preview"><img id="imageAV2" onclick="eqntext('imageAV2')"
-    src="../cgi-bin/mimetex.cgi?
-    \normalsize f(x)=\int\limits_{-\infty}^xe^{-t^2}dt"
-    alt="" border=0 style="Vertical-Align:-11px"></a>
-    that's vertically aligned with your surrounding text.
-    Along with several standard 
-    <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html">
-    HTTP&nbsp;header&nbsp;fields</a>, mimeTeX also emits a special
-    &nbsp; <b>Vertical-Align:&nbsp;&#150;<i>nn</i></b> &nbsp;
-    header, where <b>&#150;<i>nn</i></b> is the number of pixels
-    (usually negative as illustrated) needed for a
-    &nbsp; <b>style="Vertical-Align:&nbsp;&#150;<i>nn</i>&nbsp;px"</b>
-    &nbsp; attribute in the <b>&lt;img&gt;</b>&nbsp;tag used to
-    render your expression. </p>
-
-<p> But mimeTeX's special Vertical-Align: header
-    is unrecognized and ignored by your browser.  You have to get the
-    header, interpret it, and write the corresponding &lt;img&gt; tag.
-    The only feasible way to do all this is using a scripting language,
-    as illustrated by the following, rather naive, php code </p>
-    <pre class="medium" style="margin-top:.5em;margin-bottom:.5em"
->   &lt;?php
-   $mimetexurl = "http://www.<i>yourdomain</i>.com/cgi-bin/mimetex.cgi?";
-   function verticalalign( $expression ) {
-      global $mimetexurl;
-      // note: curl_init() stops at the first whitespace char in $url argument
-      $expression = ereg_replace(" ","~",$expression); // so remove whitespace
-      $url     = $mimetexurl . $expression;
-      $valign  = "0";
-      $ch      = curl_init( $url );
-      curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
-      curl_setopt( $ch, CURLOPT_HEADER, true );
-      $gif     = curl_exec( $ch );
-      $errno   = curl_errno( $ch );
-      curl_close( $ch );
-      if ( $errno == 0 ) {
-        $fields = explode("Vertical-Align:",$gif);
-        $vfield = trim($fields[1]);
-        $fldlen = strspn($vfield,"+-0123456789");
-        $valign = substr($vfield,0,$fldlen); }
-      return $valign;
-      }
-   function mimetextag( $expression ) {
-      global $mimetexurl;
-      $valign = verticalalign($expression);
-      $url    = $mimetexurl . $expression;
-      echo ' &lt;img src="',$url,'" ';
-      echo ' style="Vertical-Align:',$valign,'px" ';
-      echo ' alt="" border=0&gt;', "\n";
-      }
-   ?&gt;</pre>
-
-<p> Now you can write &nbsp;
-    &lt;?php&nbsp;mimetextag('\frac12\left(a^2+b^2\right)');&nbsp;?&gt;
-    wherever you want to see
-    <a href="#preview"><img id="imageAV5" onclick="eqntext('imageAV5')"
-    src="../cgi-bin/mimetex.cgi?
-    \normalsize\frac12\left(a^2+b^2\right)"
-    alt="" border=0 style="Vertical-Align:-5px"></a>
-    correctly aligned.  <!-- Besides making you escape backslashes
-    (each&nbsp;&#092;&nbsp;must be written&nbsp;&#092;&#092;), -->
-    This code calls mimeTeX twice to render each expression,
-    once to get the Vertical-Align: header and build an
-    &lt;img&gt; tag, and then again to render that tag.
-    If you're a good php programmer and write better code,
-    please email me a copy. </p>
-
-<p> If you're using mimeTeX's
-    &nbsp; <b>-DCACHEPATH=\&quot;<i>path</i>/\&quot;</b> &nbsp;
-    <a href="#options">compile&nbsp;option</a>, prefix your
-    <b><i>path</i>/</b> with a leading&nbsp;<b>&#037;</b> and write &nbsp;
-    <b>-DCACHEPATH=\&quot;&#037;<i>path</i>/\&quot;</b> &nbsp; instead.
-    That leading&nbsp;<b>&#037;</b> won't become part of your cache
-    directory's <b><i>path</i>/</b>, but it will signal mimeTeX
-    to cache headers along with each image.
-    Otherwise, the Vertical-Align: information is lost,
-    and attempts to align cached images will fail. </p>
+    <a href="#options">compile&nbsp;option</a>.)
+    &nbsp; And there's no inherent need to repeatedly write the
+    cumbersome &lt;img&gt; tag illustrated above.
+    You can write your own
+    <a href="#scripts">wrapper&nbsp;scripts</a>,
+    discussed below, around mimeTeX to simplify the notation. </p>
 
 <h3> <a name="alternatives">
 Alternative solutions<font size=5>...</font></a> </h3>
@@ -544,17 +439,11 @@
     target="_top">latexrender</a>
     which uses LaTeX to create higher quality images than mimeTeX
     produces.  For comparison,
-    <a href="#preview"><img id="imageI2" onclick="eqntext('imageI2')"
-    src="../cgi-bin/mimetex.cgi?\normalsize
-    f(x)=\int\limits_{-\infty}^xe^{-t^2}dt"
-    alt="" border=0 style="Vertical-Align:-11px"></a>,
+    <?php mimetextag('imageI2',
+    '\small f(x)=\int\limits_{-\infty}^xe^{-t^2}dt'); ?>,
     with arbitrary mean
-    <a href="#preview"><img id="imageI3" onclick="eqntext('imageI3')"
-    src="../cgi-bin/mimetex.cgi?\large\mu" alt="" border=0
-    style="Vertical-Align:-5px"></a> and standard deviation
-    <a href="#preview"><img id="imageI4" onclick="eqntext('imageI4')"
-    src="../cgi-bin/mimetex.cgi?\large\sigma" alt="" border=0
-    style="Vertical-Align:0px"></a>,
+    <?php mimetextag('imageI3','\normalsize\mu'); ?> and standard deviation
+    <?php mimetextag('imageI4','\normalsize\sigma'); ?>,
     and at mimeTeX's next larger font size, looks like </p>
      <center>
       <table>
@@ -569,11 +458,10 @@
 	 alt="" border=0 align=middle> </td>
         <td> &nbsp; </td>
  	<td>
-	 <a href="#preview"><img id="imageI5" onclick="eqntext('imageI5')"
-	 src="../cgi-bin/mimetex.cgi?\large
-         f(x)={\Large\frac1{\sigma\sqrt{2\pi}}}
-	 \int_{\small-\infty}^xe^{-\small\frac{(t-\mu)^2}{2\sigma^2}}dt"
-	 alt="" border=0 align=middle></a> </td>
+	 <?php mimetextag('imageI5',
+	 '\normalsize f(x)={\Large\frac1{\sigma\sqrt{2\pi}}}
+	 \int_{\small-\infty}^xe^{-\small\frac{(t-\mu)^2}{2\sigma^2}}dt'); ?>
+	 </td>
        </tr>
       </table>
      </center>
@@ -617,8 +505,9 @@
 	<td> <font size="4">mimeTeX</font> </td>
        </tr>
        <tr align="center">
-	<td> <img alt="tex:\displaystyle f(x) = \frac1{\sigma\sqrt{2\pi}}
-         \int_{-\infty}^x e^{-\frac{(t-\mu)^2}{2\sigma^2}}dt"> <br> </td>
+	<td> unavailable
+         <!-- img alt="tex:\displaystyle f(x) = \frac1{\sigma\sqrt{2\pi}}
+         \int_{-\infty}^x e^{-\frac{(t-\mu)^2}{2\sigma^2}}dt" --> <br> </td>
         <td> &nbsp; </td>
  	<td>
 	 <a href="#preview"><img id="imageP3" onclick="eqntext('imageP3')"
@@ -739,6 +628,51 @@
            in the usual way.  Or see the <b>-DDISPLAYSIZE=<i>n</i></b>
            <a href="#options">compile&nbsp;option</a> below to change
            the default. </li>
+     <!-- <li> As discussed in the <a href="#introduction">Introduction</a>,
+            you can replace cumbersome &lt;img&gt; tags with your own custom
+            tags or wrapper scripts. </li> -->
+       <li> <!-- And --> There are occasional exceptions where I couldn't
+            program mimeTeX to recognize valid LaTeX syntax.
+            One particular "gotcha" is that mimeTeX bindings
+            are pretty much left-to-right.  Thus, for example, although
+            mimeTeX correctly interprets <b>\frac12</b> as well as
+            <b>\frac1{x^2}</b>, etc, the legal LaTeX expression
+            <b>x^\frac12</b> must be written <b>x^{\frac12}</b>.
+            Otherwise, mimeTeX interprets it as <b>{x^\frac}12</b>, i.e.,
+            the same way <b>x^\alpha12</b> would be interpreted, which is
+            nonsense for <b>\frac</b>.  The same "gotcha" also applies to
+            other combinations of commands, e.g., you must write
+            <b>\sqrt{\frac\alpha\beta}</b>, or
+            <b>\frac\alpha{\sqrt\beta}</b>, etc.
+            The <a href="#reference">Syntax&nbsp;Reference</a> section
+            contains much additional information.  <!-- Or you can just begin
+            playing with mimeTeX for yourself to see if it might have
+            any potential usefulness for you. --> </li>
+       <li> And there are various additional syntactic and cosmetic
+            differences between LaTeX and mimeTeX.  For example,
+            bounding boxes for mimeTeX's character bitmaps don't
+            accommodate italic corrections.  Therefore, an expression
+            like <b>\int\nolimits_a^b</b> renders
+            <a href="#preview"><img id="gotcha1" onclick="eqntext('gotcha1')"
+            src="../cgi-bin/mimetex.cgi?
+            \normalsize\displaystyle\int\nolimits_a^b"
+            alt="" border=0 align=middle></a> rather than
+            <a href="#preview"><img id="gotcha2" onclick="eqntext('gotcha2')"
+            src="../cgi-bin/mimetex.cgi?
+            \normalsize\displaystyle\smashmargin{2}{\int\nolimits_a}^b"
+            alt="" border=0 align=middle></a><b>.</b>
+            To render the latter image you have to write the somewhat
+            cumbersome expression <b>{\smashmargin2{\int\nolimits_a}^b}</b>
+            instead (see <a href="#smash">smash</a> below). </li>
+       <li> Besides such exceptions, mimeTeX
+            also provides various LaTeX extensions <!-- , i.e., LaTeX errors
+            permitted by mimetex. -->  (such as font size
+            directives like <b>\Large</b> permitted within mimeTeX
+            math&nbsp;mode expressions, as discussed above).
+            <!-- , but flagged as errors by LaTeX. -->
+            <!-- But note well: if you take advantage of mimeTeX extensions,
+            your math&nbsp;mode expressions will no longer be accepted by
+            standard TeX engines. --> </li>
      </ul>
  <p> <a name="forminput"> </a> <a name="preview"> </a>
      Now enter your own LaTeX expression, use the sample provided,
@@ -776,50 +710,110 @@
      src="../cgi-bin/mimetex.cgi?\normalsize
      f(x)=\int\limits_{-\infty}^x e^{-t^2}dt"
      alt="" border=0 style="Vertical-Align:-11px"></a> &nbsp;
-     if you submit the sample expression already in the box. </p>
-
- <p> And the &lt;img&gt; tag to embed this same integral anywhere
-     in your own document is </p>
-<pre> &lt;img&nbsp;src="../cgi-bin/mimetex.cgi?\large \
                f(x)=\int_{-\infty}^xe^{-t^2}dt"
-  alt="" border=0 align=middle&gt;</pre>
-
- <p> <!-- You can see numerous additional examples illustrating html
-     &lt;img&gt; tags using mimeTeX by viewing this page's source. -->
-     The typical mimeTeX &lt;img&gt; tag has the form </p>
+     if you submit the sample expression already in the box.
+     Or see <a href="#messages">error&nbsp;messages</a> whenever an
+     unexpected image is displayed instead. &nbsp; And (as discussed
+     above) the &lt;img&gt; tag to embed this same integral anywhere
+     in your own document is <br>
+       <nobr><b> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+          &lt;img&nbsp;
+          src="../cgi-bin/mimetex.cgi?f(x)=\int_{-\infty}^xe^{-t^2}dt" \
&gt;</b></nobr><br> +     </p>
+ <!-- p class="continue">
+     And recall that the typical mimeTeX &lt;img&gt; tag has the form </p>
 <pre> &lt;img&nbsp;src="../cgi-bin/mimetex.cgi?any valid LaTeX/mimeTeX expression"
   alt="" border=0 align=middle&gt;</pre> <p class="continue">
      where <b>../cgi-bin/mimetex.cgi</b> is the relative path from your html
      page containing these tags to your compiled mimetex.cgi program, and
      where <b>any&nbsp;valid&nbsp;LaTeX/mimeTeX&nbsp;expression</b>
-     is pretty much any valid LaTeX math expression: </p> <ul>
-     <!-- <li> As discussed in the <a href="#introduction">Introduction</a>,
-            you can replace cumbersome &lt;img&gt; tags with your own custom
-            tags or wrapper scripts. </li> -->
-       <li> <!-- And --> There are occasional exceptions where I couldn't
-            program mimeTeX to recognize valid LaTeX syntax.
-            One particular "gotcha" is that mimeTeX bindings
-            are pretty much left-to-right.  Thus, for example, although
-            mimeTeX correctly interprets <b>\frac12</b> as well as
-            <b>\frac1{x^2}</b>, etc, the legal LaTeX expression
-            <b>x^\frac12</b> must be written <b>x^{\frac12}</b>.
-            Otherwise, mimeTeX interprets it as <b>{x^\frac}12</b>, i.e.,
-            the same way <b>x^\alpha12</b> would be interpreted, which is
-            nonsense for <b>\frac</b>.  The same "gotcha" also applies to
-            other combinations of commands, e.g., you must write
-            <b>\sqrt{\frac\alpha\beta}</b>, or
-            <b>\frac\alpha{\sqrt\beta}</b>, etc.
-            The <a href="#reference">Syntax&nbsp;Reference</a> section
-            contains much additional information.  <!-- Or you can just begin
-            playing with mimeTeX for yourself to see if it might have
-            any potential usefulness for you. --> </li>
-       <li> Besides such exceptions, mimeTeX
-            also provides various LaTeX extensions. <!-- , i.e., LaTeX errors
-            permitted by mimetex. -->  For example, font size
-            directives like <b>\Large</b> are permitted within mimeTeX
-            math&nbsp;mode expressions, but flagged as errors by LaTeX.
-            <!-- But note well: if you take advantage of mimeTeX extensions,
-            your math&nbsp;mode expressions will no longer be accepted by
-            standard TeX engines. --> </li> </ul>
+     is pretty much any valid LaTeX math expression: </p -->
+
+<!-- ++++++++
+ <h3> <a name="errormessages">
+ Error messages<font size=5>...</font></a> </h3>
+ <p> Any (La)TeX error is typically also a mimeTeX error.
+     However, mimeTeX has no command line interface or
+     <b>.</b>log file for reporting errors.  Its only
+     communication with you is through the mimeTeX image
+     rendered by your browser.  So error messages are embedded
+     in that image whenever feasible.  For example,
+     suppose you want to see
+      <a href="#preview"><img id="messages1" onclick="eqntext('messages1')"
+      src="../cgi-bin/mimetex.cgi?\normalsize\alpha\beta\gamma\delta"
+      alt="" border=0 align="bottom"></a>
+     but you mistakenly type &nbsp; <b>\alpha\bethe\gamma\delta</b> &nbsp;
+     instead.  Then the image rendered is
+      <a href="#preview"><img id="messages2" onclick="eqntext('messages2')"
+      src="../cgi-bin/mimetex.cgi?\normalsize\alpha\bethe\gamma\delta"
+      alt="" border=0 align="bottom"></a>
+     indicating the unrecognized <b>[\bethe?]</b> where you wanted to type
+     &nbsp; <b>\beta</b> &nbsp; and had hoped to see &nbsp;
+      <a href="#preview"><img id="messages3" onclick="eqntext('messages3')"
+      src="../cgi-bin/mimetex.cgi?\normalsize\bf\beta"
+      alt="" border=0 align="bottom"></a><b>.</b> &nbsp;
+     If your expression contains some unprintable character
+     (meaning any character mimeTeX has no bitmap for),
+     then just &nbsp;
+      <a href="#preview"><img id="messages4" onclick="eqntext('messages4')"
+      src="../cgi-bin/mimetex.cgi?\small\bf[?]"
+      alt="" border=0 align="bottom"></a> &nbsp;
+     is displayed in the corresponding position. </p>
+
+ <p> The preceding example illustrates a pretty trivial error.
+     Any non-trivial errors in your expression are likely to
+     go unrecognized and unreported by mimeTeX, and to render
+     unexpected images.  While checking your input expression
+     for syntax errors, keep in mind the following points
+     about mimeTeX's behavior: </p>
+     <ul>
+       <li> An unmatched left brace &nbsp; <b>{</b> &nbsp; is matched
+            by mimeTeX with a "phantom" right brace &nbsp; <b>}</b> &nbsp;
+            that's imagined to be at the end of your expression. </li>
+       <li> Likewise, an unmatched &nbsp; <b>\left(</b>, &nbsp;
+            or <b>\left\{</b> &nbsp; or <b>\left\</b><i>anything</i>, &nbsp;
+            is matched by mimeTeX with a "phantom" &nbsp; <b>\right.</b>
+            &nbsp; at the end of your expression. </li>
+       <li> On the other hand, an unmatched right brace &nbsp; <b>}</b>
+            &nbsp; is displayed in place, as if you had typed \rbrace. </li>
+       <li> But an unmatched &nbsp; <b>\right\</b><i>anything</i> &nbsp;
+            is interpreted as an
+            <a href="http://www.forkosh.com/mimetexmanual.html?abbreviations"
+            target="_top">abbreviation</a> for <b>\</b>rightarrow
+            followed by <b>\</b><i>anything</i>.  For example, &nbsp;
+            <b>\leff(&nbsp;abc&nbsp;\right)&nbsp;def</b> &nbsp; renders &nbsp;
+              <a href="#preview"><img id="messages5"
+              onclick="eqntext('messages5')"
+              src="../cgi-bin/mimetex.cgi?\small\leff(abc\right)def"
+              alt="" border=0 align="bottom"></a>.
+            </li>
+     </ul>
+++++++++ -->
+
+<!-- ++++++++
+ <h3> <a name="infomessages">
+ Informational messages<font size=5>...</font></a> </h3>
+ <p> The latest release of mimeTeX is version
+       <a href="#preview"><img id="messages11" onclick="eqntext('messages11')"
+       src="../cgi-bin/mimetex.cgi?\small\versionnumber"
+       alt="" border=0 align="bottom"></a>
+     which was last revised
+       <a href="#preview"><img id="messages12" onclick="eqntext('messages12')"
+       src="../cgi-bin/mimetex.cgi?\small\revisiondate"
+       alt="" border=0 align="bottom"></a>.
+     The special mimeTeX directive &nbsp; <b>\version</b> &nbsp;
+     displays that same information, </p>
+      <center>
+       <a href="#preview"><img id="messages13" onclick="eqntext('messages13')"
+       src="../cgi-bin/mimetex.cgi?\version"
+       alt="" border=0 align=middle></a>
+      </center>
+ <p> To check that your own release of mimeTeX is current,
+     type a url into your browser's locator window something like <br>
+        &nbsp; &nbsp; &nbsp; &nbsp;
+     <b>http://www.<i>yourdomain</i>.com/cgi-bin/mimetex.cgi?\version</b> <br>
+     which will display the version and revision date of
+     mimeTeX installed on your server. </p>
+++++++++ -->
 
 
 <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -827,7 +821,7 @@
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
 <h2> <a name="examples"> (Ib) Examples &nbsp; </a> </h2>
 
- <p> Here are various additional random examples further demonstrating
+ <p> Here are various additional random examples further illustrating
      mimeTeX's features and usage.  To see how they're done, Click any
      one of them to place its corresponding expression in the
      <a href="#preview">Query&nbsp;Box</a> above.  Then press Submit
@@ -966,9 +960,9 @@
   <td align="center">
     <a href="#preview">
     <img id="example7" onclick="eqntext('example7')"
-    src="../cgi-bin/mimetex.cgi?\Large\overbrace{a,...,a}^{\text{k a^,s}},
+    src="../cgi-bin/mimetex.cgi?\large\overbrace{a,...,a}^{\text{k a^,s}},
     \underbrace{b,...,b}_{\text{l b^,s}}\hspace{10}
-    \large\underbrace{\overbrace{a...a}^{\text{k a^,s}},
+    \normalsize\underbrace{\overbrace{a...a}^{\text{k a^,s}},
     \overbrace{b...b}^{\text{l b^,s}}}_{\text{k+l elements}}"
     alt="" border=0 align=middle></a> </td>
   <td>
@@ -987,7 +981,7 @@
         <td align="left" colspan=2>
          <a href="#preview">
          <img id="example8a" onclick="eqntext('example8a')"
-         src="../cgi-bin/mimetex.cgi?\Large\scr{J}^{i0}=+\frac i2
+         src="../cgi-bin/mimetex.cgi?\large\scr{J}^{i0}=+\frac i2
          \left[\begin{array}{cc}\sigma_i&0\\0&-\sigma_i\end{array}\right]
          \hspace{10}\scr{J}^{ij}=\frac12\varepsilon_{ijk}
          \left[\begin{array}{cc}\sigma_k&0\\0&\sigma_k\end{array}\right]"
@@ -998,7 +992,7 @@
         <td align="left">
          <a href="#preview">
          <img id="example8b" onclick="eqntext('example8b')"
-         src="../cgi-bin/mimetex.cgi?\Large A\ =\ \large\left(
+         src="../cgi-bin/mimetex.cgi?\large A\ =\ \normalsize\left(
          \begin{array}{c.cccc}&1&2&\cdots&n\\
          \hdash1&a_{11}&a_{12}&\cdots&a_{1n}\\
          2&a_{21}&a_{22}&\cdots&a_{2n}\\
@@ -1019,10 +1013,10 @@
         <td align="left" colspan="2">
          <a href="#preview">
          <img id="example9c" onclick="eqntext('example9c')"
-         src="../cgi-bin/mimetex.cgi?\normalsize
-         \left(\large\begin{array}{GC+23}
+         src="../cgi-bin/mimetex.cgi?\large
+         \left(\large\begin{array}{GC+45}
          \varepsilon_x\\\varepsilon_y\\\varepsilon_z\\\gamma_{xy}\\
-         \gamma_{xz}\\\gamma_{yz}\end{array}\right)\ {\Large=}
+         \gamma_{xz}\\\gamma_{yz}\end{array}\right)\ {\large=}
          \ \left[\begin{array}{CC}
          \begin{array}\frac1{E_{\fs{+1}x}}
          &-\frac{\nu_{xy}}{E_{\fs{+1}x}}
@@ -1052,7 +1046,7 @@
   <td align="center">
     <a href="#preview">
     <img id="example10" onclick="eqntext('example10')"
-    src="../cgi-bin/mimetex.cgi?\Large\left.\begin{eqnarray}
+    src="../cgi-bin/mimetex.cgi?\large\left.\begin{eqnarray}
     x+y+z&=&3\\2y&=&x+z\\2x+y&=&z\end{eqnarray}\right\}"
     alt="" border=0 align=middle></a> </td>
   <td>
@@ -1085,13 +1079,13 @@
   <td align="left">
     <a href="#preview">
     <img id="example12" onclick="eqntext('example12')"
-    src="../cgi-bin/mimetex.cgi?\Large\hspace{5}\unitlength{1}
+    src="../cgi-bin/mimetex.cgi?\large\hspace{5}\unitlength{1}
     \picture(175,100){ (50,50){\circle(100)}
-    (1,50){\overbrace{\line(46)}^{4$\;\;a}}
+    (1,50){\overbrace{\line(46)}^{3$\;\;a}}
     (52,50){\line(125)} (50,52;115;2){\mid} (52,55){\longleftar[60]}
-    (130,56){\longrightar[35]} (116,58){r} (c85,50;80;2){\bullet}
-    (c85,36){\large-q} (c165,36){\large q}
-    (42,29){\underbrace{\line(32)}_{\small a^2/r\;\;\;}} }"
+    (130,56){\longrightar[35]} (116,58){\small r}
+    (c85,50;80;2){\small\bullet} (c85,36){\small -q} (c165,36){\small q}
+    (42,29){\underbrace{\line(32)}_{\scriptsize a^2/r\;\;\;}} }"
     alt="" border=0 align=middle></a> </td>
   <td valign="middle">
     mimeTeX <a href="#picture">\picture(size){pic_elems}</a>
@@ -1126,10 +1120,11 @@
     The image at left is picture-in-picture-in-picture. </td>
   </tr>
 </table>
-<br><br>
 
 <!-- font examples
 ++++++++++++++++++ -->
+<!-- font-size-examples-commented-out ---
+<br><br>
 <h3> Some font examples <font size=5>...</font></a> </h3>
  <p> Finally, illustrated below are some examples of fonts and symbols
      available with mimeTeX.  All symbols and sizes from cmr, cmmi,
@@ -1163,69 +1158,356 @@
 2$\scrX&2$\scrY&2$\scrZ}"
 alt="" border=0 align=middle> </p>
 
-<h3>cmmi greek uppercase, and \var lowercase</h3>
-<p> <img src="../cgi-bin/mimetex.cgi?\array{r$
-2$\rm~size~4:~&4$\Gamma&4$\Delta&4$\Theta&4$\Lambda&4$\Xi&4$\Pi&4$\Sigma&
-4$\Upsilon&4$\Phi&4$\Psi&4$\Omega,&4$\rm~~&4$\varepsilon&4$\vartheta&4$\varpi&
-4$\varrho&4$\varsigma&4$\varphi\\
-2$\rm~3:~&3$\Gamma&3$\Delta&3$\Theta&3$\Lambda&3$\Xi&3$\Pi&3$\Sigma&
-3$\Upsilon&3$\Phi&3$\Psi&3$\Omega,&~&3$\varepsilon&3$\vartheta&3$\varpi&
-3$\varrho&3$\varsigma&3$\varphi\\
-2$\rm~2:~&2$\Gamma&2$\Delta&2$\Theta&2$\Lambda&2$\Xi&2$\Pi&2$\Sigma&
-2$\Upsilon&2$\Phi&2$\Psi&2$\Omega,&~&2$\varepsilon&2$\vartheta&2$\varpi&
-2$\varrho&2$\varsigma&2$\varphi}"
-alt="" border=0 align=middle> </p>
+<h3>cmmi greek uppercase, and \var lowercase</h3>
+<p> <img src="../cgi-bin/mimetex.cgi?\array{r$
+2$\rm~size~4:~&4$\Gamma&4$\Delta&4$\Theta&4$\Lambda&4$\Xi&4$\Pi&4$\Sigma&
+4$\Upsilon&4$\Phi&4$\Psi&4$\Omega,&4$\rm~~&4$\varepsilon&4$\vartheta&4$\varpi&
+4$\varrho&4$\varsigma&4$\varphi\\
+2$\rm~3:~&3$\Gamma&3$\Delta&3$\Theta&3$\Lambda&3$\Xi&3$\Pi&3$\Sigma&
+3$\Upsilon&3$\Phi&3$\Psi&3$\Omega,&~&3$\varepsilon&3$\vartheta&3$\varpi&
+3$\varrho&3$\varsigma&3$\varphi\\
+2$\rm~2:~&2$\Gamma&2$\Delta&2$\Theta&2$\Lambda&2$\Xi&2$\Pi&2$\Sigma&
+2$\Upsilon&2$\Phi&2$\Psi&2$\Omega,&~&2$\varepsilon&2$\vartheta&2$\varpi&
+2$\varrho&2$\varsigma&2$\varphi}"
+alt="" border=0 align=middle> </p>
+
+<h3>cmmi greek lowercase</h3>
+<p> <img src="../cgi-bin/mimetex.cgi?\array{r$
+2$\rm~size~4:~&4$\alpha&4$\beta&4$\gamma&4$\delta&4$\epsilon&4$\zeta&
+4$\eta&4$\theta&4$\iota&4$\kappa&4$\lambda&4$\mu&4$\nu&4$\xi&4$%%\omicron%%&
+4$\pi&4$\rho&4$\sigma&4$\tau&4$\upsilon&4$\phi&4$\chi&4$\psi&4$\omega\\
+2$\rm~3:~&3$\alpha&3$\beta&3$\gamma&3$\delta&3$\epsilon&3$\zeta&
+3$\eta&3$\theta&3$\iota&3$\kappa&3$\lambda&3$\mu&3$\nu&3$\xi&3$%%\omicron%%&
+3$\pi&3$\rho&3$\sigma&3$\tau&3$\upsilon&3$\phi&3$\chi&3$\psi&3$\omega\\
+2$\rm~2:~&2$\alpha&2$\beta&2$\gamma&2$\delta&2$\epsilon&2$\zeta&
+2$\eta&2$\theta&2$\iota&2$\kappa&2$\lambda&2$\mu&2$\nu&2$\xi&2$%%\omicron%%&
+2$\pi&2$\rho&2$\sigma&2$\tau&2$\upsilon&2$\phi&2$\chi&2$\psi&2$\omega}"
+alt="" border=0 align=middle> </p>
+
+<h3>cmsy symbols at mimeTeX font size 3<br>
+<font size="3">(operators shown large are automatically "promoted"<br>
+to the larger size in \displaystyle mode)</font> </h3>
+<p> <img src="../cgi-bin/mimetex.cgi?\array{3,r$1$\rm~chars~\\
+1$\rm~0-15:~&-&\cdot&\times&\ast&\div&\diamond&\pm&\mp&
+\oplus&\ominus&\otimes&\oslash&\odot&\bigcirc&\circ&\bullet\\
+1$\rm~16-31:~&\asymp&\equiv&\subseteq&\supseteq&\leq&\geq&\preceq&\succeq&
+\sim&\approx&\subset&\supset&\ll&\gg&\prec&\succ\\
+1$\rm~32-47:~&\leftar&\rightar&\uparr&\downar&\leftrightar&\near&\sear&
+\simeq&\Leftar&\Rightar&\Upar&\Downar&\Leftrightar&\nwar&\swar&\propto\\
+1$\rm~48-63:~&\prime&\infty&\in&\ni&\triangle&\bigtriangledo&/&\'&
+\forall&\exists&\neg&\emptyset&\Re&\Im&\top&\bot\\
+1$\rm~64-100:~&\aleph&&\calA&4$.\,.\,.&\calZ&&\cup&\cap&
+\uplus&\wedge&\vee&\vdash&\dashv&\lfloor&\rfloor&\lceil\\
+1$\rm~101-116:~&\rceil&\lbrace&\rbrace&\langle&\rangle&\mid&\parallel&
+\updownar&\Updownar&\setminus&\wr&\surd&\amalg&\nabla&\int&\sqcup\\
+1$\rm~117-127:~&\sqcap&\sqsubseteq&\sqsupseteq&\S&\dag&\ddag&\P&\clubsuit&
+\Diamond&\Heart&\spadesuit}" alt="" border=0 align=middle> </p>
+
+<h3>a few other cmmi, cmr, stmary and wncyr symbols
+at mimeTeX font size 4</h3>
+<p> <img src="../cgi-bin/mimetex.cgi?\array{4,r$
+1$\rm~cmmi:~&\leftharpoonup&\leftharpoondo&\rightharpoonup&\rightharpoondo&
+\triangleright&\triangleleft&\star&\partial&
+\flat&\natural&\sharp&\smile&\frown&\ell&\imath&\jmath&\wp&\vec\\
+1$\rm~cmr:~&\ss&\ae&\oe&\AE&\OE \\
+1$\rm~stmary:~&\moo&\Lbag&\Rbag&\lightning&\llbracket&\rrbracket&
+\subsetpluseq&\supsetpluseq&\Yup&\Ydown\\
+1$\rm~wncyr:~&\cyr A&\cyr a&\cyr B&\cyr b&\cyr V&\cyr v&\cyr G&\cyr g&
+\cyr D&\cyr d&\cyr Dj&\cyr dj&\cyr\=E&\cyr\=e&\cyr Zh&\cyr zh}"
+alt="" border=0 align=middle> </p>
+--- end-of-font-size-examples-commented-out -->
+
+<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+SCRIPTS & PLUGINS
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+<h2> <a name="scripts"> (Ic) Scripts &amp; Plugins &nbsp; </a> </h2>
+
+<p> Some useful scripts that automatically construct
+    mimeTeX &lt;img&gt; tags for you are illustrated below.
+    And you can also write your own scripts to simplify
+    the HTML notation required to incorporate mimeTeX
+    math images in your pages. </p>
+
+<h3> <a name="plugins">
+mimeTeX plugins<font size=5>...</font></a> </h3>
+<!-- p> There's no inherent need to repeatedly write the cumbersome
+    &lt;img&gt; tag illustrated above.  You can write your own <a href=
+    "http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JSPIntro9.html#wp73314"
+    target="_top">custom&nbsp;tags</a>,
+    or write a wrapper&nbsp;script around mimeTeX to simplify the
+    notation. </p -->
+
+<p style="margin-bottom:0">  <!-- For example, -->
+    The following javascript snippet (based on
+    <a href="http://www.mathtran.org" target="_top">mathtran</a>'s
+    <a href="http://www.mathtran.org/js/mathtran_img.js"
+    target="_top">mathtran_img.js</a>) lets you just write &nbsp;
+    <b>&lt;img&nbsp;alt="mimetex:c=\sqrt{a^2+b^2}"&gt;</b> &nbsp;
+    wherever you want to see&nbsp;<a href="#preview"><img id="imageJS1"
+    onclick="eqntext('imageJS1')" src="../cgi-bin/mimetex.cgi?
+    \normalsize c=\sqrt{a^2+b^2}" alt="" border=0
+    style="Vertical-Align:-1px"></a>&nbsp; </p>
+    <pre class="medium" style="margin-top:0;margin-bottom:0"
+>   &lt;script type="text/javascript"&gt;
+   &lt;!--
+   // Create a namespace to hold variables and functions
+   mimetex = new Object();
+   // Change this to use your server
+   mimetex.imgSrc = "http://www.<i>yourdomain</i>.com/cgi-bin/mimetex.cgi?";
+   // Transform the whole document: add src to each img with
+   // alt text starting with "mimetex:", unless img already has a src.
+   mimetex.init = function () {
+       if (! document.getElementsByTagName) return;
+       var objs = document.getElementsByTagName("img");
+       var len  = objs.length;
+       for (i=0; i&lt;len; i++) {
+          var img = objs[i];
+          if (img.alt.substring(0,8) == 'mimetex:')
+             if (!img.src) {
+                var tex_src = img.alt.substring(8);
+                img.src = mimetex.imgSrc + encodeURIComponent(tex_src);
+                // Append TEX to the class of the IMG.
+                img.className +=' tex'; }
+          }
+       mimetex.hideElementById("mimetex.error"); }
+   // Utility function
+   mimetex.hideElementById = function (id) {
+       var obj = document.getElementById(id);
+       if (obj) obj.style.display = 'none'; }
+   // resolve a cross-browser issue (see <a \
href="http://scottandrew.com/weblog/articles/cbs-events" \
target="_top">CBS&nbsp;events</a>) +   mimetex.addEvent = function (obj, evType, fn, \
useCapture) { +       if (obj.addEventListener) { //For Mozilla.
+           obj.addEventListener(evType, fn, useCapture);
+           return true; }
+       else if (obj.attachEvent) { //For Internet Explorer.
+           var r = obj.attachEvent("on"+evType, fn);
+           return r; }
+       }
+   // Initialize after entire document is loaded
+   mimetex.addEvent(window, 'load', mimetex.init, false);
+   --&gt;
+   &lt;/script&gt;</pre>
+
+<p style="margin-bottom:0">
+    Bulletin boards, wikis, etc, can also incorporate mimeTeX images
+    with short scripts.  For example, if you're using
+    <a href="http://www.phpbb.com" target="_top">phpBB2</a>, then
+    <a href="http://www.themathforum.com/" target="_top">Jameson</a>
+    contributed the following typical one-line mod that lets you write
+    <b>[tex]&nbsp;c=\sqrt{a^2+b^2}&nbsp;[/tex]</b> to obtain the
+    same&nbsp;<a href="#preview"><img id="imageJS2"
+    onclick="eqntext('imageJS2')" src="../cgi-bin/mimetex.cgi?
+    \normalsize c=\sqrt{a^2+b^2}" alt="" border=0
+    style="Vertical-Align:-1px"></a> image illustrated above&nbsp; </p>
+    <pre class="medium" style="margin-top:0;margin-bottom:0"
+>   #--------[open]-----------------------------------------------------
+     /includes/bbcode.php
+   #--------[find]-----------------------------------------------------
+     // Remove our padding from the string..
+   #--------[before, add]----------------------------------------------
+     $text = preg_replace('/\[tex\](.*?)\[\/tex\]/ie',
+     "'&lt;img src=\"/cgi-bin/mimetex.cgi?'.rawurlencode('$1').'\" align=\"middle\" \
/&gt;'", +     $text);</pre>
+<p class="continue" style="margin-top:0"> If you're using
+     <a href="http://www.phpbb.com" target="_top">phpBB3</a>,
+     then no mod is even needed.
+     Just click Postings from the Administrator Control Panel,
+     and add the custom BBCode&nbsp;<b>[tex]{TEXT}[/tex]</b> &nbsp;
+     with the HTML replacement
+     <b>&lt;img&nbsp;src="/cgi-bin/mimetex.cgi?{TEXT}"&nbsp;align=middle&gt;</b></p>
+
+<p> Similarly, <a href="http://www.pmwiki.org/" target="_top">PmWiki</a>
+    also has a
+    <a href="http://www.pmwiki.org/wiki/Cookbook/MimeTeX" target="_top">
+    mimeTeX&nbsp;plugin</a> that lets you just write
+    <b>{$&nbsp;f(x)=\int_{-\infty}^xe^{-t^2}dt&nbsp;$}</b>
+    to obtain that same image. &nbsp; Several other packages
+    also have similar mimeTeX plugins: </p>
+    <center><table>
+     <tr> <td align=center> <u>&nbsp;<b>Package</b>&nbsp;</u> </td>
+      <td> &nbsp; </td>
+      <td align=center> <u>&nbsp;&nbsp;<b>Plugin</b>&nbsp;&nbsp;</u> </td>
+      </tr>
+     <tr> <td align=center>
+	  <a href="http://www.pmwiki.org" target="_top">
+	  PmWiki</a> </td> <td> &nbsp; </td>
+	  <td align=center>
+	  <a href="http://www.pmwiki.org/wiki/Cookbook/MimeTeX"
+	  target="_top">mimeTeX&nbsp;plugin</a> </td> </tr>
+     <tr> <td align=center>
+	  <!-- a href="http://www.wikimedia.org/wiki/Main_Page" -->
+	  <!-- a href="http://www.wikimediafoundation.org/wiki/Main_Page" -->
+	  <a href="http://www.mediawiki.org/wiki/MediaWiki"
+          target="_top">MediaWiki</a> </td>
+	  <td align=center> &nbsp; </td>
+	  <td align=center>
+	  <!-- a href="http://meta.wikimedia.org/wiki/Mimetex_alternative" -->
+	  <a href="http://www.mediawiki.org/wiki/Mimetex_alternative"
+	  target="_top">&quot;mimeTeX&nbsp;alternative&quot;</a> </td> </tr>
+<!-- ***redirect loop***
+     <tr> <td align=center>
+	  <a href="http://www.unitorganizer.com/mathwiki/index.php/Main_Page"
+	  target="_top">MathWiki</a> </td> <td> &nbsp; </td>
+	  <td align=center> <a href=
+	  "http://www.unitorganizer.com/mathwiki/index.php/MimetexParser"
+	  target="_top">&quot;mimeTeX&nbsp;Parser&quot;</a> </td> </tr>
+-->
+     <tr> <td align=center>
+	  <a href="http://forums.punbb.org/" target="_top">PunBB</a> </td>
+	  <td> &nbsp; </td> <td align=center>
+	  <a href="http://www.math-linux.com/spip.php?article44"
+	  target="_top">mimeTeX&nbsp;plugin</a> </td> </tr>
+     <tr> <td align=center>
+	  <!-- a href="http://www.sixapart.com/movabletype/" -->
+	  <a href="http://www.movabletype.com/"
+	  target="_top">Movable&nbsp;Type</a> </td> <td> &nbsp; </td>
+	  <td align=center> <a href=
+	  "http://www.unitorganizer.com/myblog/2006/08/creating_equations_in_movable.html"
+          target="_top">mimeTeX&nbsp;plugin</a> </td> </tr>
+     <tr> <td align=center>
+	  <a href="http://wordpress.org/" target="_top">WordPress</a> </td>
+	  <td> &nbsp; </td> <td align=center> <a href=
+	  "http://www.anlak.com/?page_id=66" target="_top">
+     <!-- "http://sixthform.info/steve/wordpress/index.php?p=13&page=2" -->
+	  mimeTeX&nbsp;plugin</a> <!-- &nbsp; (see item 9) --> </td> </tr>
+     <tr> <td align=center>
+	  <a href="http://www.joomla.org/"
+	  target="_top">Joomla</a> </td> <td> &nbsp; </td>
+	  <td align=center> <a href=
+	  "http://extensions.joomla.org/component/option,com_mtree/task,viewlink/link_id,5932/Itemid,35/"
 +          target="_top">mimeTeX&nbsp;plugin</a> </td> </tr>
+     <tr> <td align=center>
+	  <a href="http://mambo-foundation.org/"
+	  target="_top">Mambo</a> </td> <td> &nbsp; </td>
+	  <td align=center> <a href=
+	  "http://webscripts.softpedia.com/script/Modules/Joomla-Mambo-Modules/MimeTeX-Bot-9250.html"
 +          target="_top">&quot;mimeTeX&nbsp;bot&quot;</a> </td> </tr>
+     <!--- dead links --->
+     <!-- tr> <td align=center>
+	  <a href="http://www.phpbb.com" target="_top">phpBB</a> </td>
+	  <td> &nbsp; </td> <td align=center>
+	  <a href=
+	  "http://www.themathforum.com/math/showthread.php?p=621#post621"
+	  target="_top">mimeTeX&nbsp;plugin</a> </td> </tr -->
+     <!-- tr> <td align=center>
+	  <a href="http://www.mamboserver.com/" target="_top">Mambo</a> </td>
+	  <td> &nbsp; </td> <td align=center>
+	  <a href="http://mamboxchange.com/projects/mimetexbot/"
+	  target="_top">&quot;mimeTeX&nbsp;bot&quot;</a> </td> </tr -->
+    </table></center>
+
+<p> <b>Please note:</b> If you're writing your own plugin for mimeTeX,
+    please don't write php code using <b>system(&nbsp;)</b>, or any other
+    shell escape mechanism, just to cache images.  Use mimeTeX's
+    &nbsp; <b>-DCACHEPATH=\&quot;<i>path/</i>\&quot;</b> &nbsp;
+    <a href="#options">compile&nbsp;option</a> instead.
+    <b>system(&nbsp;)</b> raises security
+    issues, either real ones if used carelessly, or just in the minds of
+    system administrators.  Either way, I've received many emails from
+    people unable to use mimeTeX because of unnecessary <b>system(&nbsp;)</b>
+    calls prohibited by security-conscious sysadmins.  MimeTeX itself poses
+    minimal risk when used as illustrated above, but you're responsible
+    for any plugin/wrapper script you write around it. </p>
 
-<h3>cmmi greek lowercase</h3>
-<p> <img src="../cgi-bin/mimetex.cgi?\array{r$
-2$\rm~size~4:~&4$\alpha&4$\beta&4$\gamma&4$\delta&4$\epsilon&4$\zeta&
-4$\eta&4$\theta&4$\iota&4$\kappa&4$\lambda&4$\mu&4$\nu&4$\xi&4$%%\omicron%%&
-4$\pi&4$\rho&4$\sigma&4$\tau&4$\upsilon&4$\phi&4$\chi&4$\psi&4$\omega\\
-2$\rm~3:~&3$\alpha&3$\beta&3$\gamma&3$\delta&3$\epsilon&3$\zeta&
-3$\eta&3$\theta&3$\iota&3$\kappa&3$\lambda&3$\mu&3$\nu&3$\xi&3$%%\omicron%%&
-3$\pi&3$\rho&3$\sigma&3$\tau&3$\upsilon&3$\phi&3$\chi&3$\psi&3$\omega\\
-2$\rm~2:~&2$\alpha&2$\beta&2$\gamma&2$\delta&2$\epsilon&2$\zeta&
-2$\eta&2$\theta&2$\iota&2$\kappa&2$\lambda&2$\mu&2$\nu&2$\xi&2$%%\omicron%%&
-2$\pi&2$\rho&2$\sigma&2$\tau&2$\upsilon&2$\phi&2$\chi&2$\psi&2$\omega}"
-alt="" border=0 align=middle> </p>
+<h3> <a name="valignment">
+Vertical alignment<font size=5>...</font></a> </h3>
+<p> An image like
+    <a href="#preview"><img id="imageAV1" onclick="eqntext('imageAV1')"
+    src="../cgi-bin/mimetex.cgi?
+    \normalsize f(x)=\int\limits_{-\infty}^xe^{-t^2}dt"
+    alt="" border=0 align=middle></a>
+    doesn't look as good as the same image
+    <a href="#preview"><img id="imageAV2" onclick="eqntext('imageAV2')"
+    src="../cgi-bin/mimetex.cgi?
+    \normalsize f(x)=\int\limits_{-\infty}^xe^{-t^2}dt"
+    alt="" border=0 style="Vertical-Align:-26px"></a>
+    that's vertically aligned with your surrounding text.
+    Along with several standard 
+    <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html">
+    HTTP&nbsp;header&nbsp;fields</a>, mimeTeX also emits a special
+    &nbsp; <b>Vertical-Align:&nbsp;&#150;<i>nn</i></b> &nbsp;
+    header, where <b>&#150;<i>nn</i></b> is the number of pixels
+    (usually negative as illustrated) needed for a
+    &nbsp; <b>style="Vertical-Align:&nbsp;&#150;<i>nn</i>&nbsp;px"</b>
+    &nbsp; attribute in the <b>&lt;img&gt;</b>&nbsp;tag used to
+    render your expression. This Vertical-Align:&nbsp;header
+    is obtained by placing the directive &nbsp;<b>\depth</b>&nbsp;
+    anywhere in your expression. </p>
 
-<h3>cmsy symbols at mimeTeX font size 3<br>
-<font size="3">(operators shown large are automatically "promoted"<br>
-to the larger size in \displaystyle mode)</font> </h3>
-<p> <img src="../cgi-bin/mimetex.cgi?\array{3,r$1$\rm~chars~\\
-1$\rm~0-15:~&-&\cdot&\times&\ast&\div&\diamond&\pm&\mp&
-\oplus&\ominus&\otimes&\oslash&\odot&\bigcirc&\circ&\bullet\\
-1$\rm~16-31:~&\asymp&\equiv&\subseteq&\supseteq&\leq&\geq&\preceq&\succeq&
-\sim&\approx&\subset&\supset&\ll&\gg&\prec&\succ\\
-1$\rm~32-47:~&\leftar&\rightar&\uparr&\downar&\leftrightar&\near&\sear&
-\simeq&\Leftar&\Rightar&\Upar&\Downar&\Leftrightar&\nwar&\swar&\propto\\
-1$\rm~48-63:~&\prime&\infty&\in&\ni&\triangle&\bigtriangledo&/&\'&
-\forall&\exists&\neg&\emptyset&\Re&\Im&\top&\bot\\
-1$\rm~64-100:~&\aleph&&\calA&4$.\,.\,.&\calZ&&\cup&\cap&
-\uplus&\wedge&\vee&\vdash&\dashv&\lfloor&\rfloor&\lceil\\
-1$\rm~101-116:~&\rceil&\lbrace&\rbrace&\langle&\rangle&\mid&\parallel&
-\updownar&\Updownar&\setminus&\wr&\surd&\amalg&\nabla&\int&\sqcup\\
-1$\rm~117-127:~&\sqcap&\sqsubseteq&\sqsupseteq&\S&\dag&\ddag&\P&\clubsuit&
-\Diamond&\Heart&\spadesuit}" alt="" border=0 align=middle> </p>
+<p> But mimeTeX's special Vertical-Align: header
+    is unrecognized and ignored by your browser.  You have to get the
+    header, interpret it, and write the corresponding &lt;img&gt; tag.
+    The only feasible way to do all this is using a scripting language,
+    as illustrated by the following, rather naive, php code </p>
+    <pre class="medium" style="margin-top:.5em;margin-bottom:.5em"
+>   &lt;?php
+   $mimetexurl = "http://www.<i>yourdomain</i>.com/cgi-bin/mimetex.cgi?";
+   function verticalalign( $expression ) {
+      global $mimetexurl;
+      // note: curl_init() stops at the first whitespace char in $url argument
+      $expression = ereg_replace(" ","~",$expression); // so remove whitespace
+      $url     = $mimetexurl . "\depth~" . $expression;
+      $valign  = "0";
+      $ch      = curl_init( $url );
+      curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
+      curl_setopt( $ch, CURLOPT_HEADER, true );
+      $gif     = curl_exec( $ch );
+      $errno   = curl_errno( $ch );
+      curl_close( $ch );
+      if ( $errno == 0 ) {
+        $fields = explode("Vertical-Align:",$gif);
+        $vfield = trim($fields[1]);
+        $fldlen = strspn($vfield,"+-0123456789");
+        $valign = substr($vfield,0,$fldlen); }
+      return $valign;
+      }
+   function mimetextag( $expression ) {
+      global $mimetexurl;
+      $valign = verticalalign($expression);
+      $url    = $mimetexurl . "\depth~" . $expression;
+      echo ' &lt;img src="',$url,'" ';
+      echo ' style="Vertical-Align:',$valign,'px" ';
+      echo ' alt="" border=0&gt;', "\n";
+      }
+   ?&gt;</pre>
 
-<h3>a few other cmmi, cmr, stmary and wncyr symbols
-at mimeTeX font size 4</h3>
-<p> <img src="../cgi-bin/mimetex.cgi?\array{4,r$
-1$\rm~cmmi:~&\leftharpoonup&\leftharpoondo&\rightharpoonup&\rightharpoondo&
-\triangleright&\triangleleft&\star&\partial&
-\flat&\natural&\sharp&\smile&\frown&\ell&\imath&\jmath&\wp&\vec\\
-1$\rm~cmr:~&\ss&\ae&\oe&\AE&\OE \\
-1$\rm~stmary:~&\moo&\Lbag&\Rbag&\lightning&\llbracket&\rrbracket&
-\subsetpluseq&\supsetpluseq&\Yup&\Ydown\\
-1$\rm~wncyr:~&\cyr A&\cyr a&\cyr B&\cyr b&\cyr V&\cyr v&\cyr G&\cyr g&
-\cyr D&\cyr d&\cyr Dj&\cyr dj&\cyr\=E&\cyr\=e&\cyr Zh&\cyr zh}"
-alt="" border=0 align=middle> </p>
+<p> Now you can write &nbsp;
+    &lt;?php&nbsp;mimetextag('\frac12\left(a^2+b^2\right)');&nbsp;?&gt;
+    wherever you want to see
+    <a href="#preview"><img id="imageAV5" onclick="eqntext('imageAV5')"
+    src="../cgi-bin/mimetex.cgi?
+    \normalsize\frac12\left(a^2+b^2\right)"
+    alt="" border=0 style="Vertical-Align:-7px"></a>
+    correctly aligned. Note that the php code automatically
+    prepends &nbsp;<b>\depth</b>&nbsp; to your expression for you.
+    <!-- Besides making you escape backslashes
+    (each&nbsp;&#092;&nbsp;must be written&nbsp;&#092;&#092;), -->
+    (Also note that this code calls mimeTeX twice to render each
+    expression, once to get the Vertical-Align: header and build
+    an &lt;img&gt; tag, and then again to render that tag.
+    If you're a good php programmer and write better code,
+    please email me a copy.) </p>
+
+<p> If you're using mimeTeX's
+    &nbsp; <b>-DCACHEPATH=\&quot;<i>path</i>/\&quot;</b> &nbsp;
+    <a href="#options">compile&nbsp;option</a>, you can request
+    that all images be cached with Vertical-Align:&nbsp;headers,
+    whether or not they contain the \depth directive. Prefix your
+    <b><i>path</i>/</b> with a leading&nbsp;<b>&#037;</b> and write &nbsp;
+    <b>-DCACHEPATH=\&quot;&#037;<i>path</i>/\&quot;</b> &nbsp; instead.
+    That leading&nbsp;<b>&#037;</b> won't become part of your cache
+    directory's <b><i>path</i>/</b>, but it will signal mimeTeX
+    to cache headers along with each image. (In this case,
+    the directive &nbsp;<b>\nodepth</b>&nbsp; suppresses
+    mimeTeX's header caching for that image.)
+    <!-- Otherwise, the Vertical-Align: information is lost,
+    and attempts to align cached images will fail. --> </p>
 
 
 <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 GPL
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-<h2> <a name="gpl"> (Ic) GPL License &nbsp; </a> </h2>
+<h2> <a name="gpl"> (Id) GPL License &nbsp; </a> </h2>
 
 <font color="black">
 <b>&quot</b><i>My grandfather once told me there are two kinds of people:<br>
@@ -1250,10 +1532,10 @@
      evolve to make this kind of obnoxious banter unnecessary.
      In the meantime, please forgive me my paranoia. </p>
 
- <p> To protect your own intellectual property, I recommend
-     <a href="http://lcweb.loc.gov/copyright/circs/circ1.html"
+ <p> To protect your own intellectual property, I recommend (both are pdf)
+     <a href="http://www.copyright.gov/circs/circ01.pdf"
      target="_top">Copyright&nbsp;Basics</a> from The Library of Congress,
-     in particular <a href="http://www.copyright.gov/circs/circ61.html"
+     in particular <a href="http://www.copyright.gov/circs/circ61.pdf"
      target="_top">Circular&nbsp;61</a>, Copyright Registration for
      Computer Programs.
      <!-- and similarly,
@@ -1266,9 +1548,9 @@
      to anything you write the moment it's on paper.  In practice,
      if the matter comes under dispute, the courts look _very_ favorably
      on you for demonstrating your intent by registering the copyright.
-     For example, courts will stop unauthorized use of unregistered
+     <!-- For example, courts will stop unauthorized use of unregistered
      material, but monetary damages are awarded _only_ if you
-     register the copyright before infringement occurs. </p>
+     register the copyright before infringement occurs. --> </p>
 
 
 <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -1373,6 +1655,16 @@
         <a href="http://www.shitalshah.com">Shital&nbsp;Shah</a>, and
         download <a href="http://www.shitalshah.com/dev/eq2img_all.zip">
         eq2img_all.zip</a> containing Shital's latest code. </li>
+        <li> If you install mimeTeX on one server and try to use it
+        from another, you may instead see messages like <br>
+        <img src="../cgi-bin/mimetex.cgi?\message{3}"
+        alt="" align="middle" border=0> <br>
+        In this case, compile mimetex.cgi with the -DNOREFCHECK switch,
+        <i>e.g.</i>,<br>
+             <nobr> &nbsp; &nbsp; &nbsp; &nbsp; <b>cc -DAA -DNOREFCHECK
+             mimetex.c gifsave.c -lm -o mimetex.cgi</b> </nobr> <br>
+        and read the -DREFLEVELS=<i>n</i> discussion under
+        <a href="#options">compile&nbsp;options</a> below. </li>
         <!-- <li> If you're compiling on Sun or VMS, and see about a zillion
         irritating warnings, try adding <b>-DSIGNEDCHAR</b>
         (for VMS, that's cc/define=(AA,SIGNEDCHAR)&nbsp;mimetex.c) </li> -->
@@ -1564,7 +1856,7 @@
            <b>\textstyle</b> <a href="#preview">
            <img id="displaysize1" onclick="eqntext('displaysize1')"
            src="../cgi-bin/mimetex.cgi?
-           \normalsize\displaystyle\int\nolimits_a^b"
+           \normalsize\displaystyle\smashmargin{2}{\int\nolimits_a}^b"
            alt="" border=0 align=middle></a> at font sizes <b>\normalsize</b>
            and smaller, and rendered <b>\displaystyle</b> <a href="#preview">
            <img id="displaysize2" onclick="eqntext('displaysize2')"
@@ -1582,7 +1874,57 @@
            gif images.  Default is 1.25 (rather than the standard 2.2).
            Specify 0.0 to turn off gamma correction (1.0 makes no
            gamma correction but doesn't actually turn it off). </dd>
-      <dt><b>-DNEWCOMMANDS=\"<i>newcommands.h</i>\"</b> </dt>
+      <dt><b>-DINPUTOK</b> </dt>
+       <dd> To enhance mimeTeX's security, the
+           <a href="#input">\input{&nbsp;}</a> command is disabled
+           by default when you compile mimeTeX.  Note that the
+           <a href="#counter">\counter</a> and
+           <a href="#environment">\environment</a> commands are
+           also disabled by default, and <b>-DINPUTOK</b> enables
+           all three commands simultaneously.  (Compile mimeTeX with
+           <b>-DCOUNTEROK</b> to enable only \counter, or with
+           <b>-DENVIRONOK</b> to enable only \environment.) <br>
+           &nbsp; &nbsp; &nbsp; Compiling mimeTeX with the
+           <b>-DINPUTOK</b> switch enables \input{&nbsp;} for all users,
+           subject only to your <b>-DPATHPREFIX</b> restrictions,
+           discussed below.  And the following two switches give you
+           additional control over \input{&nbsp;}'s usage... </dd>
+      <dt> <b>-DINPUTPATH=\"<i>path</i>\" &nbsp; &nbsp; &nbsp; <i>-or-</i><br>
+           -DINPUTPATH=\"<i>path1,path2,etc</i>\"</b> </dt>
+       <dd> Permits <b>\input{<i>filename</i>}</b> for specific
+           <i>filename</i>'s, even when the \input{&nbsp;} command
+           is otherwise disabled (for security). <br>
+           &nbsp; &nbsp; &nbsp; If INPUTPATH is defined, mimeTeX
+           performs a case-insensitive test of \input{&nbsp;}'s
+           <i>filename</i> argument, to verify that it contains
+           the authorized 'path' as a substring. <br>
+           &nbsp; &nbsp; &nbsp; If given several 'path's (second form)
+           then <i>filename</i> must contain either 'path1' or
+           'path2', or etc, as a (case-insensitive) substring. <br>
+           &nbsp; &nbsp; &nbsp; If <i>filename</i> doesn't contain
+           a substring matching any of these path(s), then mimeTeX emits
+           an error message image instead of reading <i>filename</i>. </dd>
+      <dt> <b>-DINPUTREFERER=\"<i>domain</i>\" &nbsp; &nbsp; &nbsp; <i>-or-</i><br>
+           -DINPUTREFERER=\"<i>domain1,domain2,etc</i>\"</b> </dt>
+       <dd> Permits <b>\input{&nbsp;}</b> for users from specific
+           <i>domain</i>'s, even when the \input{&nbsp;} command
+           is otherwise disabled (for security). <br>
+           &nbsp; &nbsp; &nbsp; If INPUTREFERER is defined
+           but INPUTOK is not defined, then mimeTeX
+           performs a case-insensitive test of the user's
+           HTTP_REFERER environment variable, to verify that it contains
+           the authorized 'domain' as a substring. <br>
+           &nbsp; &nbsp; &nbsp; If given several 'domain's (second form)
+           then HTTP_REFERER must contain either 'domain1' or
+           'domain2', or etc, as a (case-insensitive) substring. <br>
+           &nbsp; &nbsp; &nbsp; If HTTP_REFERER doesn't contain
+           a substring matching any of these domain(s), then mimeTeX renders
+           an error message image instead of reading <i>filename</i>.  <br>
+           &nbsp; &nbsp; &nbsp; Finally, if HTTP_REFERER is not found as
+           an environment variable, then mimeTeX renders the
+           same error message image. </dd>
+      <dt><b><a id="newcommands">-DNEWCOMMANDS=\"<i>newcommands.h</i>\"</a>
+      </b> </dt>
        <dd> LaTeX-like <b>\newcommand</b>'s are available in mimeTeX,
            via the following facility to help you define your
            own "new&nbsp;commands" during compilation.  Edit a file named
@@ -1633,6 +1975,21 @@
            <br> &nbsp; &nbsp; To see many additional examples, search for the
            uppercase string NEWCOMMANDS in mimetex.c, and look below that.
            All the above examples are already there. </dd>
+      <dt> <b>-DNOREFMAXLEN=<i>n</i></b> </dt>
+       <dd> The environment variable HTTP_REFERER identifies the
+           domain a request originates from.  If HTTP_REFERER is not
+           defined, then NOREFMAXLEN is the maximum length query&nbsp;string
+           permitted from unidentified domains.  It defaults to&nbsp;9999,
+           i.e., any query&nbsp;string is permitted, since
+           mail and various other legitimate programs often don't
+           supply an HTTP_REFERER.  See -DREFERER and -DREFLEVELS
+           below for further discussion, and also see -DNOREFSAFELEN
+           immediately below. </dd>
+      <dt> <b>-DNOREFSAFELEN=<i>n</i></b> </dt>
+       <dd> If you compile mimeTeX with either the -DREFERER or
+           -DREFLEVELS switch (discussed below), then the default
+           NOREFMAXLEN value&nbsp;9999 is replaced by the (usually much
+           shorter) NOREFSAFELEN value whose default is&nbsp;24. </dd>
       <dt> <b>-DOPAQUE</b> </dt>
        <dd> By default, mimeTeX renders gif images with black symbols
            on a transparent white background.  Defining OPAQUE renders
@@ -1679,21 +2036,52 @@
        <dd> Blocks mimeTeX requests from unauthorized domains that
            are using your mimetex.cgi (hence your server's resources)
            without permission. <br>
-           &nbsp; &nbsp; &nbsp; If REFERER is defined, mimeTeX
+           &nbsp; &nbsp; &nbsp; If compiled with -DREFERER, then mimeTeX
            performs a case-insensitive test of the environment variable
            HTTP_REFERER to verify that it contains the authorized 'domain'
-           as a substring. <br>
+           as a substring.  For example, if -DREFERER=\"\",<br>
            &nbsp; &nbsp; &nbsp; If given several 'domain's (second form)
            then HTTP_REFERER must contain either 'domain1' or
            'domain2', or etc, as a (case-insensitive) substring. <br>
            &nbsp; &nbsp; &nbsp; If HTTP_REFERER doesn't contain a substring
-           matching any of these domain(s), then mimeTeX emits an error
-           message image instead of the requested image.  You can manually
-           modify invalid_referer_msg, defined in function main(),
-           to personalize the error message for your own site. <br>
-           &nbsp; &nbsp; &nbsp; Finally, if HTTP_REFERER is not found as
-           an environment variable, then mimeTeX correctly generates the
-           requested image instead of generating an error. </dd>
+           matching any of these domain(s), then mimeTeX emits the error
+           message image<br>
+           <img src="../cgi-bin/mimetex.cgi?\message{0}"
+           alt="" align="middle" border=0> <br>
+           instead of the requested image.  You can manually
+           modify this invalid_referer_msg, which is msgtable[0]
+           defined immediately above function main(),
+           to personalize the error message displayed for your own site. <br>
+           &nbsp; &nbsp; &nbsp; Finally, if you specify <b>-DREFERER</b>
+           (or -DREFLEVELS discussed immediately below) but HTTP_REFERER
+           is not found as an environment variable, then
+           mimeTeX correctly generates images whose QUERY_STRING's
+           contain&nbsp;24 or fewer characters.  For&nbsp;25 or more
+           characters, mimeTeX generates an error.
+           See -DNOREFMAXLEN and -DNOREFSAFELEN above to change
+           the&nbsp;24 limit. </dd>
+      <dt><b>-DREFLEVELS=<i>n</i></b>  &nbsp; &nbsp; &nbsp; <i>-or-</i><br>
+          <b>-DNOREFCHECK</b> </dt>
+       <dd> Besides <b>-DREFERER</b> discussed immediately above,
+           mimeTeX can block requests from HTTP_REFERER's that
+           don't match your HTTP_HOST, <i>i.e.</i>, from pages on
+           different servers than your mimetex.cgi image. <br>
+           &nbsp; &nbsp; &nbsp; The default value of REFLEVELS is&nbsp;3,
+           meaning the topmost three levels of HTTP_REFERER and
+           HTTP_HOST must match.  For example, phy.cam.ac.uk matches
+           math.cam.ac.uk because they share the same topmost three
+           levels cam.ac.uk.  So a page installed at the physics
+           department can use a mimetex.cgi installed at the math
+           department.  If you always want a complete match, compile
+           mimeTeX with <b>-DREFLEVELS=99</b> or any large number.
+           If HTTP_REFERER is not found, then the same&nbsp;24
+           character limit discussed immediately above remains in effect. <br>
+           &nbsp; &nbsp; &nbsp; To completely disable the REFLEVELS check,
+           compile mimeTeX with <b>-DNOREFCHECK</b> (or with
+           <b>-DREFLEVELS=0</b>).  Or, if you supply a specific
+           <b>-DREFERER</b> list of authorized domains, as discussed
+           immediately above, then the REFLEVELS check is automatically
+           disabled. </dd>
       <dt><b>-DSECURITY=<i>n</i></b> </dt>
        <dd> This is essentially a "paranoid" setting that defaults
            to a high value 999, which inhibits some optional logging
@@ -1739,6 +2127,84 @@
            background.  This option renders white symbols on
            a transparent black background instead (or on an opaque
            black background when combined with <b>-DOPAQUE</b>&nbsp;). </dd>
+
+      <dt> <a name="adswitches"> </a> <font color="black" size="5">
+      <br> <b>Advertising switches</b><font size=5>...</font></font>
+      <br> </dt>
+       <dd style="margin-left:0em;"> The next three switches
+       set up a mimeTeX web service that embeds advertising messages
+       along with rendered images.
+       <!-- See <a href="#webservice">mimeTeX&nbsp;web&nbsp;service</a>
+       above for further discussion. --> <br> <br> </dd>
+
+      <dt> <a name="adfrequencyswitch"> </a>
+      <b>&#150;DADFREQUENCY=0</b> </dt>
+       <dd> If ADFREQUENCY is defined as a positive number <b><i>n</i></b>,
+       then one request out of every <b><i>n</i></b> submitted to mimeTeX
+       is randomly selected to be displayed along with a pre-defined
+       "advertisement".  For example, if your expression is
+       &nbsp; <b>\large\int_0^xe^{-x^2}dx</b>, &nbsp; then the default
+       advertisement displays <br>
+       &nbsp; &nbsp; &nbsp;
+       <a href="#preview"><img id="adswitch1" onclick="eqntext('adswitch1')"
+        src="../cgi-bin/mimetex.cgi?\large\advertisement
+        \int_0^xe^{-x^2}dx" alt="" align="middle" border=0></a>
+       &nbsp; &nbsp; instead of just &nbsp; &nbsp;
+       <a href="#preview"><img id="adswitch2" onclick="eqntext('adswitch2')"
+        src="../cgi-bin/mimetex.cgi?\large
+        \int_0^xe^{-x^2}dx" alt="" align="middle" border=0></a> <br>
+       See the <b>&#150;DADVERTISEMENT</b> switch <!-- immediately -->
+       below for instructions to define your own advertisement replacing
+       my default. </dd>
+
+      <dt> <a name="adhostswitch"> </a>
+      <b>&#150;DHOST_SHOWAD=\"\\000\"</b> </dt>
+       <dd> Advertisement messages are usually displayed randomly,
+       in one request to mimeTeX out of every <b><i>n</i></b>,
+       as defined by the <b>&#150;DADFREQUENCY</b> switch above.
+       But if a HOST_SHOWAD string is also defined,
+       then advertisements are only displayed when mimeTeX is running
+       on a host whose HTTP_HOST (or SERVER_NAME) environment variable
+       contains that string. For example,
+       <b>&#150;DHOST_SHOWAD=\"mathsite\"</b> displays advertisements
+       on www.mathsite.com but never on www.mathhouse.com&nbsp;.
+       The default HOST_SHOWAD value is an empty string,
+       which displays advertisements on any host. </dd>
+
+      <dt> <a name="advertisementswitch"> </a>
+      <b>&#150;DADVERTISEMENT=\"</b><i>filename</i><b>\"</b> </dt>
+       <dd> To define your own advertisement, replacing my default
+       illustrated immediately above, edit a file containing lines
+       of the form <br>
+	<nobr>&nbsp; &nbsp; &nbsp; <b>"\\</b>begin{gather}{\\small\\text<b>"</b></nobr><br>
+        <nobr>&nbsp; &nbsp; &nbsp; &nbsp; \
<b>"</b>{\\fbox{\\begin{gather}<b>"</b></nobr><br> +	<nobr>&nbsp; &nbsp; &nbsp; \
&nbsp; <b>"</b>mime\\TeX rendering courtesy of\\\\<b>"</b></nobr><br> +	<nobr>&nbsp; \
&nbsp; &nbsp; &nbsp; <b>"</b>http://www.forkosh.com/mimetex.html \
\\end{gather}}}\\\\<b>"</b></nobr><br> +	<nobr>&nbsp; &nbsp; &nbsp; &nbsp; <b>"</b> \
%%expression%%<b>"</b></nobr><br> +        <nobr>&nbsp; &nbsp; &nbsp; \
<b>"\\</b>end{gather}<b>"</b></nobr><br> +       Every line in your file must be \
enclosed in <b>"</b>quotes<b>"</b>, +       and all backslashes written as \
double-backslashes <b>\\</b>. +       Note <b>\\\\</b> at the end of the third and \
fourth lines, +       which LaTeX sees as <b>\\</b>.  The entire example shows how my
+       default advertisement is defined. <br>
+       &nbsp; &nbsp; &nbsp; Your advertisement may consist of any valid
+       mimeTeX commands you like. But it must somewhere contain the line <br>
+	<nobr>&nbsp; &nbsp; &nbsp; <b>"</b> %%expression%% <b>"</b></nobr><br>
+       which is replaced by the user's expression. <br>
+       &nbsp; &nbsp; &nbsp; Once mimeTeX is compiled with your advertisement,
+       test it by submitting an expression like &nbsp;
+       <b>\advertisement&nbsp;x^2+y^2</b> &nbsp; containing the special
+       mimeTeX &nbsp; \advertisement&nbsp;directive, &nbsp; which forces that
+       expression to be rendered with your advertisement.  In this case
+       (and with my default advertisement message) we see <br>
+       &nbsp; &nbsp; &nbsp;
+       <a href="#preview"><img id="adswitch3" onclick="eqntext('adswitch3')"
+       src="../cgi-bin/mimetex.cgi?\advertisement x^2+y^2"
+       alt="" align="middle" border=0></a> &nbsp; &nbsp; instead of
+       just &nbsp; &nbsp;
+       <a href="#preview"><img id="adswitch4" onclick="eqntext('adswitch4')"
+       src="../cgi-bin/mimetex.cgi?x^2+y^2" alt="" border=0></a> <br>
+       regardless of your ADFREQUENCY value. </dd>
      </dl>
 
 
@@ -2052,12 +2518,23 @@
 
 <h3> <a name="characters">Character Sets<font size=5>...</font></a> </h3>
 
- <p> For complete information about the characters and math symbols
+ <p> The <a href="http://www.ctan.org/tex-archive/info/symbols/comprehensive/"
+     target="_top"> Comprehensive&nbsp;LaTeX&nbsp;Symbol&nbsp;List </a>
+     illustrates some 6,000 symbols supported by LaTeX. For complete
+     information about the subset of these characters and math symbols
      available in mimeTeX, you'll need to browse through the bottom
-     500-or-so lines of <b>mimetex.h</b>.  And several additional
+     1500-or-so lines of <b>mimetex.h</b>.  And several additional
      symbols like <b>\ldots</b> and <b>\AA</b> and <b>\hbar</b> are
      defined by the mimeTeX preprocessor, function <b>mimeprep(&nbsp;)</b>
-     in <b>mimetex.c</b> &nbsp; &nbsp; Generally speaking, I've tried to
+     in <b>mimetex.c</b> <br>
+     &nbsp; &nbsp; &nbsp; &nbsp;
+     I haven't exhaustively checked all the name-number matchings for
+     the thousand-or-so symbols in mimetex.h.  You can eaily correct
+     any minor mistake you find in what I hope is an obvious manner.
+     The fonts <a href="#fonts">Appendix&nbsp;IVa</a> below provides
+     additional information. </p>
+
+ <p> Generally speaking, I've tried to
      encode the cmr10, cmmi10, cmmib10, cmsy10, cmex10, bbold10, rsfs10,
      stmary10 and wncyr10 families with "names", e.g., <b>\alpha \beta
      \forall \sqcup</b>, etc, identical to your LaTeX expectations.
@@ -2068,11 +2545,12 @@
      <b>{\cyr&nbsp;Khrushchev}</b> or <b>\cyr{Khrushchev}</b> to see
      <a href="#preview"><img id="cyrillic1" onclick="eqntext('cyrillic1')"
      src="../cgi-bin/mimetex.cgi?\large\cyr Khrushchev"
-     alt="" border=0 align=middle></a>.
+     alt="" border=0 align="middle"></a>.
      Most LaTeX distributions supply stmaryrd.dvi and stmaryrd.sty
      that both document the names of the stmary10 symbols.
      Similarly, amsfndoc.dvi documents the names of the wncyr10
      cyrillic symbols and ligatures. </p>
+
      <!-- But there are various additions and omissions and exceptions
      vis-a-vis LaTeX.  For example, </p>
       <ul>
@@ -2083,11 +2561,7 @@
              than their \xxx counterparts, and they automatically render
              super/subscripts in <a href="#modes">displaystyle</a>. </li>
       </ul> -->
- <p> I haven't exhaustively checked all the name-number matchings for
-     the hundreds of symbols in mimetex.h.  You can eaily correct
-     any minor mistake you find in what I hope is an obvious manner.
-     The fonts <a href="#fonts">Appendix&nbsp;IVa</a> below provides
-     additional information. </p>
+
 
  <p> In addition to extra LaTeX symbols like <b>\ldots</b>, <b>\AA</b>
      and <b>\hbar</b>, mentioned above, the mimeTeX preprocessor
@@ -2103,6 +2577,287 @@
      even more cumbersome form <b>\&amp;quot;E</b> inside a query
      string. </p>
 
+ <p> Illustrated below are some of the character sets and math symbols
+     supported by mimeTeX, starting with several roman character fonts.
+     The blackboard bold font contains many characters besides
+     &nbsp; <b>a-z,A-Z</b>. &nbsp; Calligraphic and script fonts contain
+     uppercase &nbsp; <b>A-Z</b> &nbsp; only. </p>
+
+    <center><a href="#preview"><img id="roman8" onclick="eqntext('roman8')"
+    src="../cgi-bin/mimetex.cgi?\large
+    \begin{array}{|c+57|c|c|c0|c|c|c|c|c| C25 C+15} \hline
+    \large \textrm{a-z} & \small \backslash\textrm{text} &
+    \small \backslash\textrm{mathbb} & &
+    \large \textrm{A-Z} & \small \backslash\textrm{text} &
+    \small \backslash\textrm{mathbb} & \small \backslash\textrm{mathcal} &
+    \small \backslash\textrm{mathscr} \\ \hline
+    a&\text{a}&\mathbb{a}& &A&\text{A}&\mathbb{A}&\mathcal{A}&\mathscr{A}\\
+    b&\text{b}&\mathbb{b}& &B&\text{B}&\mathbb{B}&\mathcal{B}&\mathscr{B}\\
+    c&\text{c}&\mathbb{c}& &C&\text{C}&\mathbb{C}&\mathcal{C}&\mathscr{C}\\
+    d&\text{d}&\mathbb{d}& &D&\text{D}&\mathbb{D}&\mathcal{D}&\mathscr{D}\\
+    e&\text{e}&\mathbb{e}& &E&\text{E}&\mathbb{E}&\mathcal{E}&\mathscr{E}\\
+    f&\text{f}&\mathbb{f}& &F&\text{F}&\mathbb{F}&\mathcal{F}&\mathscr{F}\\
+    g&\text{g}&\mathbb{g}& &G&\text{G}&\mathbb{G}&\mathcal{G}&\mathscr{G}\\
+    h&\text{h}&\mathbb{h}& &H&\text{H}&\mathbb{H}&\mathcal{H}&\mathscr{H}\\
+    i&\text{i}&\mathbb{i}& &I&\text{I}&\mathbb{I}&\mathcal{I}&\mathscr{I}\\
+    j&\text{j}&\mathbb{j}& &J&\text{J}&\mathbb{J}&\mathcal{J}&\mathscr{J}\\
+    k&\text{k}&\mathbb{k}& &K&\text{K}&\mathbb{K}&\mathcal{K}&\mathscr{K}\\
+    l&\text{l}&\mathbb{l}& &L&\text{L}&\mathbb{L}&\mathcal{L}&\mathscr{L}\\
+    m&\text{m}&\mathbb{m}& &M&\text{M}&\mathbb{M}&\mathcal{M}&\mathscr{M}\\
+    n&\text{n}&\mathbb{n}& &N&\text{N}&\mathbb{N}&\mathcal{N}&\mathscr{N}\\
+    o&\text{o}&\mathbb{o}& &O&\text{O}&\mathbb{O}&\mathcal{O}&\mathscr{O}\\
+    p&\text{p}&\mathbb{p}& &P&\text{P}&\mathbb{P}&\mathcal{P}&\mathscr{P}\\
+    q&\text{q}&\mathbb{q}& &Q&\text{Q}&\mathbb{Q}&\mathcal{Q}&\mathscr{Q}\\
+    r&\text{r}&\mathbb{r}& &R&\text{R}&\mathbb{R}&\mathcal{R}&\mathscr{R}\\
+    s&\text{s}&\mathbb{s}& &S&\text{S}&\mathbb{S}&\mathcal{S}&\mathscr{S}\\
+    t&\text{t}&\mathbb{t}& &T&\text{T}&\mathbb{T}&\mathcal{T}&\mathscr{T}\\
+    u&\text{u}&\mathbb{u}& &U&\text{U}&\mathbb{U}&\mathcal{U}&\mathscr{U}\\
+    v&\text{v}&\mathbb{v}& &V&\text{V}&\mathbb{V}&\mathcal{V}&\mathscr{V}\\
+    w&\text{w}&\mathbb{w}& &W&\text{W}&\mathbb{W}&\mathcal{W}&\mathscr{W}\\
+    x&\text{x}&\mathbb{x}& &X&\text{X}&\mathbb{X}&\mathcal{X}&\mathscr{X}\\
+    y&\text{y}&\mathbb{y}& &Y&\text{Y}&\mathbb{Y}&\mathcal{Y}&\mathscr{Y}\\
+    z&\text{z}&\mathbb{z}& &Z&\text{Z}&\mathbb{Z}&\mathcal{Z}&\mathscr{Z}\\
+    \hline \end{array}"
+    alt="" border=0 align="middle"></a></center>
+
+ <p> Characters from the Greek alphabet supported by mimeTeX,
+     along with &nbsp; <b>\mathbb{&nbsp;}</b> &nbsp; versions, are
+     illustrated next.  For example, &nbsp; <b>\mathbb{\lambda}</b>
+     &nbsp; renders &nbsp;
+     <a href="#preview"><img id="bblambda" onclick="eqntext('bblambda')"
+     src="../cgi-bin/mimetex.cgi?\large\mathbb{\lambda}"
+     alt="" border=0 align="bottom"></a>. </p>
+
+    <center><a href="#preview"><img id="greek2" onclick="eqntext('greek2')"
+    src="../cgi-bin/mimetex.cgi?\large
+    \begin{array}{|l98c28c28|l98c28c28|l98c28c28|}
+    \hline \; \\
+    \hspace{10}\backslash\textrm{Gamma}      & \Gamma   & \mathbb{\Gamma}  &
+    \hspace{10}\backslash\textrm{Delta}      & \Delta   & \mathbb{\Delta}  &
+    \hspace{10}\backslash\textrm{Theta}      & \Theta   & \mathbb{\Theta}  \\
+    \hspace{10}\backslash\textrm{Lambda}     & \Lambda  & \mathbb{\Lambda} &
+    \hspace{10}\backslash\textrm{Xi}         & \Xi      & \mathbb{\Xi}     &
+    \hspace{10}\backslash\textrm{Pi}         & \Pi      & \mathbb{\Pi}     \\
+    \hspace{10}\backslash\textrm{Sigma}      & \Sigma   & \mathbb{\Sigma}  &
+    \hspace{10}\backslash\textrm{Upsilon}    & \Upsilon & \mathbb{\Upsilon}&
+    \hspace{10}\backslash\textrm{Phi}        & \Phi     & \mathbb{\Phi}    \\
+    \hspace{10}\backslash\textrm{Psi}        & \Psi     & \mathbb{\Psi}    &
+    \hspace{10}\backslash\textrm{Omega}      & \Omega   & \mathbb{\Omega}  \\
+    \; \\ \hline \; \\
+    \hspace{10}\backslash\textrm{alpha}      & \alpha   & \mathbb{\alpha}  &
+    \hspace{10}\backslash\textrm{beta}       & \beta    & \mathbb{\beta}   &
+    \hspace{10}\backslash\textrm{gamma}      & \gamma   & \mathbb{\gamma}  \\
+    \hspace{10}\backslash\textrm{delta}      & \delta   & \mathbb{\delta}  &
+    \hspace{10}\backslash\textrm{epsilon}    & \epsilon & \mathbb{\epsilon}&
+    \hspace{10}\backslash\textrm{zeta}       & \zeta    & \mathbb{\zeta}   \\
+    \hspace{10}\backslash\textrm{eta}        & \eta     & \mathbb{\eta}    &
+    \hspace{10}\backslash\textrm{theta}      & \theta   & \mathbb{\theta}  &
+    \hspace{10}\backslash\textrm{iota}       & \iota    & \mathbb{\iota}   \\
+    \hspace{10}\backslash\textrm{kappa}      & \kappa   & \mathbb{\kappa}  &
+    \hspace{10}\backslash\textrm{lambda}     & \lambda  & \mathbb{\lambda} &
+    \hspace{10}\backslash\textrm{mu}         & \mu      & \mathbb{\mu}     \\
+    \hspace{10}\backslash\textrm{nu}         & \nu      & \mathbb{\nu}     &
+    \hspace{10}\backslash\textrm{xi}         & \xi      & \mathbb{\xi}     &
+    \hspace{10}\backslash\textrm{pi}         & \pi      & \mathbb{\pi}     \\
+    \hspace{10}\backslash\textrm{rho}        & \rho     & \mathbb{\rho}    &
+    \hspace{10}\backslash\textrm{sigma}      & \sigma   & \mathbb{\sigma}  &
+    \hspace{10}\backslash\textrm{tau}        & \tau     & \mathbb{\tau}    \\
+    \hspace{10}\backslash\textrm{upsilon}    & \upsilon & \mathbb{\upsilon}&
+    \hspace{10}\backslash\textrm{phi}        & \phi     & \mathbb{\phi}    &
+    \hspace{10}\backslash\textrm{chi}        & \chi     & \mathbb{\chi}    \\
+    \hspace{10}\backslash\textrm{psi}        & \psi     & \mathbb{\psi}    &
+    \hspace{10}\backslash\textrm{omega}      & \omega   & \mathbb{\omega}  \\
+    \; \\ \hline \; \\
+    \hspace{10}\backslash\textrm{varepsilon} & \varepsilon & &
+    \hspace{10}\backslash\textrm{vartheta}   & \vartheta   & &
+    \hspace{10}\backslash\textrm{varpi}      & \varpi      & \\
+    \hspace{10}\backslash\textrm{varrho}     & \varrho     & &
+    \hspace{10}\backslash\textrm{varsigma}   & \varsigma   & &
+    \hspace{10}\backslash\textrm{varphi}     & \varphi     & \\
+    \; \\ \hline
+    \end{array}"
+    alt="" border=0 align="middle"></a></center>
+
+ <p> Finally, some of the math symbols supported by mimeTeX are illustrated
+     below. Operators shown in two sizes are automatically
+     "promoted" to the larger size in &nbsp <b>\displaystyle</b>
+     &nbsp; mode.  For example, &nbsp;
+     <b>f(x)=\int_{-\infty}^x&nbsp;e^{-t^2}dt</b> &nbsp; renders &nbsp;
+     <a href="#preview"><img id="mathsy1" onclick="eqntext('mathsy1')"
+     src="../cgi-bin/mimetex.cgi?\textstyle f(x)=\int_{-\infty}^x e^{-t^2}dt"
+     alt="" border=0 align="middle"></a>
+     &nbsp; whereas &nbsp;
+     <b>\displaystyle&nbsp;f(x)=\int_{-\infty}^x&nbsp;e^{-t^2}dt</b>
+     &nbsp; renders &nbsp;
+     <a href="#preview"><img id="mathsy2" onclick="eqntext('mathsy2')"
+     src="../cgi-bin/mimetex.cgi?\displaystyle
+     f(x)=\int_{-\infty}^x e^{-t^2}dt" alt="" border=0 align="middle"></a>
+     </p>
+
+    <center><a href="#preview"><img id="mthtbl1" onclick="eqntext('mthtbl1')"
+    src="../cgi-bin/mimetex.cgi?\large\textstyle
+    \begin{array}{|l98c28c28|l98c28c28|l98c28c28|}
+    \hline \; \\
+    \hspace{10}\backslash\textrm{cdot}       & \cdot       &  &
+    \hspace{10}\backslash\textrm{times}      & \times      &  &
+    \hspace{10}\backslash\textrm{ast}        & \ast        &  \\
+    \hspace{10}\backslash\textrm{div}        & \div        &  &
+    \hspace{10}\backslash\textrm{diamond}    & \diamond    &  &
+    \hspace{10}\backslash\textrm{pm}         & \pm         &  \\
+    \hspace{10}\backslash\textrm{mp}         & \mp         &  &
+    \hspace{10}\backslash\textrm{oplus}      & \oplus      & \Bigoplus &
+    \hspace{10}\backslash\textrm{ominus}     & \ominus     &  \\
+    \hspace{10}\backslash\textrm{otimes}     & \otimes     & \Bigotimes &
+    \hspace{10}\backslash\textrm{oslash}     & \oslash     &  &
+    \hspace{10}\backslash\textrm{odot}       & \odot       & \Bigodot \\
+    \hspace{10}\backslash\textrm{bigcirc}    & \bigcirc    &  &
+    \hspace{10}\backslash\textrm{circ}       & \circ       &  &
+    \hspace{10}\backslash\textrm{bullet}     & \bullet     &  \\
+    \hspace{10}\backslash\textrm{asymp}      & \asymp      &  &
+    \hspace{10}\backslash\textrm{equiv}      & \equiv      &  &
+    \hspace{10}\backslash\textrm{subseteq}   & \subseteq   &  \\
+    \hspace{10}\backslash\textrm{supseteq}   & \supseteq   &  &
+    \hspace{10}\backslash\textrm{leq}        & \leq        &  &
+    \hspace{10}\backslash\textrm{geq}        & \geq        &  \\
+    \hspace{10}\backslash\textrm{preceq}     & \preceq     &  &
+    \hspace{10}\backslash\textrm{succeq}     & \succeq     &  &
+    \hspace{10}\backslash\textrm{sim}        & \sim        &  \\
+    \hspace{10}\backslash\textrm{approx}     & \approx     &  &
+    \hspace{10}\backslash\textrm{subset}     & \subset     &  &
+    \hspace{10}\backslash\textrm{supset}     & \supset     &  \\
+    \hspace{10}\backslash\textrm{ll}         & \ll         &  &
+    \hspace{10}\backslash\textrm{gg}         & \gg         &  &
+    \hspace{10}\backslash\textrm{prec}       & \prec       &  \\
+    \hspace{10}\backslash\textrm{succ}       & \succ       &  &
+    \hspace{10}\normalsize\backslash\textrm{leftarrow}  & \leftarrow  &  &
+    \hspace{10}\normalsize\backslash\textrm{rightarrow} & \rightarrow &  \\
+    \hspace{10}\normalsize\backslash\textrm{uparrow}    & \uparrow    &  &
+    \hspace{10}\normalsize\backslash\textrm{downarrow}  & \downarrow  &  &
+    \hspace{10}\normalsize\backslash\textrm{leftrightarrow}&&\leftrightarrow\\
+    \hspace{10}\backslash\textrm{nearrow}    & \nearrow    &  &
+    \hspace{10}\backslash\textrm{searrow}    & \searrow    &  &
+    \hspace{10}\backslash\textrm{simeq}      & \simeq      &  \\
+    \hspace{10}\normalsize\backslash\textrm{Leftarrow}  & \Leftarrow  &  &
+    \hspace{10}\normalsize\backslash\textrm{Rightarrow} & \Rightarrow &  &
+    \hspace{10}\normalsize\backslash\textrm{Uparrow}    & \Uparrow    &  \\
+    \hspace{10}\normalsize\backslash\textrm{Downarrow}  & \Downarrow  &  &
+    \hspace{10}\normalsize\backslash\textrm{Leftrightarrow}&&\Leftrightarrow&
+    \hspace{10}\backslash\textrm{nwarrow}    & \nwarrow    &  \\
+    \hspace{10}\backslash\textrm{swarrow}    & \swarrow    &  &
+    \hspace{10}\backslash\textrm{propto}     & \propto     &  &
+    \hspace{10}\backslash\textrm{prime}      & \prime      &  \\
+    \hspace{10}\backslash\textrm{infty}      & \infty      &  &
+    \hspace{10}\backslash\textrm{in}         & \in         &  &
+    \hspace{10}\backslash\textrm{ni}         & \ni         &  \\
+    \hspace{10}\backslash\textrm{triangle}   & \triangle   &  &
+    \hspace{10}\normalsize\backslash\textrm{bigtriangledown}&&\bigtriangledown&
+    \hspace{10}\backslash^\prime             & \'          &  \\
+    \hspace{10}\textrm{/}                    & /           &  &
+    \hspace{10}\backslash\textrm{forall}     & \forall     &  &
+    \hspace{10}\backslash\textrm{exists}     & \exists     &  \\
+    \hspace{10}\backslash\textrm{neg}        & \neg        &  &
+    \hspace{10}\backslash\textrm{emptyset}   & \emptyset   &  &
+    \hspace{10}\backslash\textrm{Re}         & \Re         &  \\
+    \hspace{10}\backslash\textrm{Im}         & \Im         &  &
+    \hspace{10}\backslash\textrm{top}        & \top        &  &
+    \hspace{10}\backslash\textrm{bot}        & \bot        &  \\
+    \hspace{10}\backslash\textrm{aleph}      & \aleph      &  &
+    \hspace{10}\normalsize\backslash\textrm{mathcal\lbrace \
A\rbrace}&\;\mathcal{A}&....& +    ....       \
\normalsize\backslash\textrm{mathcal\lbrace Z\rbrace}&\;\mathcal{Z}&\\ +    \; \\ \
\hline +    \end{array}"
+    alt="" border=0 align="middle"></a><br>
+    <a href="#preview"><img id="mthtbl2" onclick="eqntext('mthtbl2')"
+    src="../cgi-bin/mimetex.cgi?\large\textstyle
+    \begin{array}{|l98c28c28|l98c28c28|l98c28c28|}
+    \hline \; \\
+    \hspace{10}\backslash\textrm{cup}        & \cup        & \Bigcup &
+    \hspace{10}\backslash\textrm{cap}        & \cap        & \Bigcap &
+    \hspace{10}\backslash\textrm{uplus}      & \uplus      & \Biguplus \\
+    \hspace{10}\backslash\textrm{wedge}      & \wedge      & \Bigwedge &
+    \hspace{10}\backslash\textrm{vee}        & \vee        & \Bigvee &
+    \hspace{10}\backslash\textrm{vdash}      & \vdash      &  \\
+    \hspace{10}\backslash\textrm{dashv}      & \dashv      &  &
+    \hspace{10}\backslash\textrm{lfloor}     & \lfloor     &  &
+    \hspace{10}\backslash\textrm{rfloor}     & \rfloor     &  \\
+    \hspace{10}\backslash\textrm{lceil}      & \lceil      &  &
+    \hspace{10}\backslash\textrm{rceil}      & \rceil      &  &
+    \hspace{10}\backslash\textrm{lbrace}     & \lbrace     &  \\
+    \hspace{10}\backslash\textrm{rbrace}     & \rbrace     &  &
+    \hspace{10}\backslash\textrm{langle}     & \langle     &  &
+    \hspace{10}\backslash\textrm{rangle}     & \rangle     &  \\
+    \hspace{10}\backslash\textrm{mid}        & \mid        &  &
+    \hspace{10}\backslash\textrm{parallel}   & \parallel   &  &
+    \hspace{10}\normalsize\backslash\textrm{updownarrow}& & \updownarrow \\
+    \hspace{10}\normalsize\backslash\textrm{Updownarrow}& & \Updownarrow &
+    \hspace{10}\backslash\textrm{setminus}   & \setminus   &  &
+    \hspace{10}\backslash\textrm{wr}         & \wr         &  \\
+    \hspace{10}\backslash\textrm{surd}       & \raisebox{15}\surd &  &
+    \hspace{10}\backslash\textrm{amalg}      & \amalg      &  &
+    \hspace{10}\backslash\textrm{nabla}      & \nabla      &  \\
+    \hspace{10}\backslash\textrm{int}        & \int        & \Bigint &
+    \hspace{10}\backslash\textrm{sqcup}      & \sqcup      & \Bigsqcup &
+    \hspace{10}\backslash\textrm{sqcap}      & \sqcap      &  \\
+    \hspace{10}\normalsize\backslash\textrm{sqsubseteq} & \sqsubseteq &  &
+    \hspace{10}\normalsize\backslash\textrm{sqsupseteq} & \sqsupseteq &  &
+    \hspace{10}\backslash\textrm{S}          & \S          &  \\
+    \hspace{10}\backslash\textrm{dag}        & \dag        &  &
+    \hspace{10}\backslash\textrm{ddag}       & \ddag       &  &
+    \hspace{10}\backslash\textrm{P}          & \P          &  \\
+    \hspace{10}\backslash\textrm{clubsuit}   & \clubsuit   &  &
+    \hspace{10}\backslash\textrm{Diamond}    & \Diamond    &  &
+    \hspace{10}\backslash\textrm{Heart}      & \Heart      &  \\
+    \hspace{10}\backslash\textrm{spadesuit}  & \spadesuit  &  \\
+    \; \\ \hline
+    \end{array}"
+    alt="" border=0 align="middle"></a><br>
+    <a href="#preview"><img id="mthtbl3" onclick="eqntext('mthtbl3')"
+    src="../cgi-bin/mimetex.cgi?\large\textstyle
+    \begin{array}{|l98c28c28|l98c28c28|l98c28c28|}
+    \hline \; \\
+    \hspace{10}\backslash\textrm{oint}       & \oint       & \Bigoint &
+    \hspace{10}\backslash\textrm{sum}        & \sum        & \Bigsum &
+    \hspace{10}\backslash\textrm{prod}       & \prod       & \Bigprod \\
+    \hspace{10}\backslash\textrm{coprod}     & \coprod     & \Bigcoprod \\
+    \; \\ \hline \; \\
+    \hspace{10}\normalsize\backslash\textrm{leftharpoonup} &&\leftharpoonup&
+       \normalsize\backslash\textrm{leftharpoondown} &&\;\leftharpoondown&
+    \hspace{10}\normalsize\backslash\textrm{rightharpoonup}&&\rightharpoonup\\
+       \normalsize\backslash\textrm{rightharpoondown}&&\;\rightharpoondown&
+    \hspace{10}\normalsize\backslash\textrm{triangleright} &&\triangleright&
+    \hspace{10}\normalsize\backslash\textrm{triangleleft}  &&\triangleleft\\
+       \normalsize\backslash\textrm{rightleftharpoons}&&\;\rightleftharpoons&
+    \hspace{10}\backslash\textrm{star}       & \LARGE{\star} &  &
+    \hspace{10}\backslash\textrm{partial}    & \partial    &  \\
+    \hspace{10}\backslash\textrm{flat}       & \flat       &  &
+    \hspace{10}\backslash\textrm{natural}    & \natural    &  &
+    \hspace{10}\backslash\textrm{sharp}      & \sharp      &  \\
+    \hspace{10}\backslash\textrm{smile}      & \smile      &  &
+    \hspace{10}\backslash\textrm{frown}      & \frown      &  &
+    \hspace{10}\backslash\textrm{ell}        & \ell        &  \\
+    \hspace{10}\backslash\textrm{imath}      & \imath      &  &
+    \hspace{10}\backslash\textrm{jmath}      & \jmath      &  &
+    \hspace{10}\backslash\textrm{wp}         & \wp         &  \\
+    \; \\ \hline \; \\
+    \hspace{10}\backslash\textrm{ss}         & \ss         &  &
+    \hspace{10}\backslash\textrm{ae}         & \ae         &  &
+    \hspace{10}\backslash\textrm{oe}         & \oe         &  \\
+    \hspace{10}\backslash\textrm{AE}         & \AE         &  &
+    \hspace{10}\backslash\textrm{OE}         & \OE         &  \\
+    \; \\ \hline \; \\
+    \hspace{10}\backslash\textrm{AA}         & \AA         &  &
+    \hspace{10}\backslash\textrm{aa}         & \aa         &  &
+    \hspace{10}\backslash\textrm{hbar}       & \hbar       &  \\
+    \hspace{10}\backslash\textrm{ldots}      & \ldots      &  &
+    \hspace{10}\backslash\textrm{cdots}      & \cdots      &  &
+    \hspace{10}\backslash\textrm{vdots}      & \vdots      &  \\
+    \hspace{10}\backslash\textrm{ddots}      & \ddots      &  &
+    \hspace{10}\backslash\textrm{angle}      & \angle      &  &
+    \hspace{10}\backslash\textrm{iint}       & \iint       & \Bigiint \\
+    \; \\ \hline
+    \end{array}"
+    alt="" border=0 align="middle"></a></center>
+
 <h3> <a name="sizes">Font Sizes<font size=5>...</font></a> </h3>
 
  <p> MimeTeX currently has eight font sizes, numbered 0-7, with default 3.
@@ -2219,6 +2974,105 @@
      by the usual rules, one size smaller than the <b>"x"</b>,
      in font size&nbsp;1. </p>
 
+ <p> Finally, illustrated below are some examples of fonts and symbols
+     at several mimeTeX sizes.  All symbols and sizes from cmr, cmmi,
+     cmmib (use <b>\mathbf{&nbsp;}</b>), cmsy, cmex, bbold (use
+     <b>\mathbb{&nbsp;}</b>), rsfs (use <b>\mathscr{&nbsp;}</b>),
+     stmary and cyrillic wncyr (use <b>{\cyr&nbsp;&nbsp;}</b> or
+     <b>\cyr{&nbsp;}</b>) should be available, but they're not all shown.
+     <!-- And also not shown are various "constructed symbols" like \sqrt,
+     accents, etc. --> The illustrated font sizes are numbered 4=\Large,
+     3=\large and 2=\normalsize (not shown are 7=\Huge, 6=\huge,
+     5=\LARGE, 1=\small and 0=\tiny). </p>
+
+ <center> <table cellspacing="7">
+  <tr> <td align="left">
+<font size="4">cmmi latin uppercase, and lowercase</font>
+<br><img src="../cgi-bin/mimetex.cgi?\array{r$
+2$\rm~size~4:~&4$A&4$B&4$C&4$D,&4$a&4$b&4$c&4$d\\
+2$\rm~3:~&3$E&3$F&3$G&3$H&3$I&3$J&3$K&3$L,&3$e&3$f&3$g&3$h&3$i&3$j&3$k&3$l\\
+2$\rm~2:~&2$M&2$N&2$O&2$P&2$Q&2$R&2$S&2$T&2$U&2$V&2$W&2$X&2$Y&2$Z,&
+2$m&2$n&2$o&2$p&2$q&2$r&2$s&2$t&2$u&2$v&2$w&2$x&2$y&2$z}"
+alt="" border=0 align=middle>
+  </td> <tr>
+  <tr> <td align="left">
+<font size="4">calligraphic, and rsfs (<b>\cal{A}, \scr{B}, etc</b>)</font>
+<br><img src="../cgi-bin/mimetex.cgi?\array{r$
+2$\rm~size~4:~&4$\calA&4$\calB&4$\calC&4$\calD&4$\calE&4$\calF&4$\calG,&
+4$\scrA&4$\scrB&4$\scrC&4$\scrD&4$\scrE&4$\scrF&4$\scrG\\
+2$\rm~3:~&3$\calH&3$\calI&3$\calJ&3$\calK&3$\calL&3$\calM&3$\calN&3$\calO&
+3$\calP,&
+3$\scrH&3$\scrI&3$\scrJ&3$\scrK&3$\scrL&3$\scrM&3$\scrN&3$\scrO&3$\scrP\\
+2$\rm~2:~&2$\calQ&2$\calR&2$\calS&2$\calT&2$\calU&
+2$\calV&2$\calW&2$\calX&2$\calY&2$\calZ,&
+2$\scrQ&2$\scrR&2$\scrS&2$\scrT&2$\scrU&2$\scrV&2$\scrW&
+2$\scrX&2$\scrY&2$\scrZ}"
+alt="" border=0 align=middle>
+  </td> <tr>
+  <tr> <td align="left">
+<font size="4">cmmi greek uppercase, and \var lowercase</font>
+<br><img src="../cgi-bin/mimetex.cgi?\array{r$
+2$\rm~size~4:~&4$\Gamma&4$\Delta&4$\Theta&4$\Lambda&4$\Xi&4$\Pi&4$\Sigma&
+4$\Upsilon&4$\Phi&4$\Psi&4$\Omega,&4$\rm~~&4$\varepsilon&4$\vartheta&4$\varpi&
+4$\varrho&4$\varsigma&4$\varphi\\
+2$\rm~3:~&3$\Gamma&3$\Delta&3$\Theta&3$\Lambda&3$\Xi&3$\Pi&3$\Sigma&
+3$\Upsilon&3$\Phi&3$\Psi&3$\Omega,&~&3$\varepsilon&3$\vartheta&3$\varpi&
+3$\varrho&3$\varsigma&3$\varphi\\
+2$\rm~2:~&2$\Gamma&2$\Delta&2$\Theta&2$\Lambda&2$\Xi&2$\Pi&2$\Sigma&
+2$\Upsilon&2$\Phi&2$\Psi&2$\Omega,&~&2$\varepsilon&2$\vartheta&2$\varpi&
+2$\varrho&2$\varsigma&2$\varphi}"
+alt="" border=0 align=middle>
+  </td> <tr>
+  <tr> <td align="left">
+<font size="4">cmmi greek lowercase</font>
+<br><img src="../cgi-bin/mimetex.cgi?\array{r$
+2$\rm~size~4:~&4$\alpha&4$\beta&4$\gamma&4$\delta&4$\epsilon&4$\zeta&
+4$\eta&4$\theta&4$\iota&4$\kappa&4$\lambda&4$\mu&4$\nu&4$\xi&4$%%\omicron%%&
+4$\pi&4$\rho&4$\sigma&4$\tau&4$\upsilon&4$\phi&4$\chi&4$\psi&4$\omega\\
+2$\rm~3:~&3$\alpha&3$\beta&3$\gamma&3$\delta&3$\epsilon&3$\zeta&
+3$\eta&3$\theta&3$\iota&3$\kappa&3$\lambda&3$\mu&3$\nu&3$\xi&3$%%\omicron%%&
+3$\pi&3$\rho&3$\sigma&3$\tau&3$\upsilon&3$\phi&3$\chi&3$\psi&3$\omega\\
+2$\rm~2:~&2$\alpha&2$\beta&2$\gamma&2$\delta&2$\epsilon&2$\zeta&
+2$\eta&2$\theta&2$\iota&2$\kappa&2$\lambda&2$\mu&2$\nu&2$\xi&2$%%\omicron%%&
+2$\pi&2$\rho&2$\sigma&2$\tau&2$\upsilon&2$\phi&2$\chi&2$\psi&2$\omega}"
+alt="" border=0 align=middle>
+  </td> <tr>
+  <tr> <td align="left">
+<font size="4">cmsy symbols at mimeTeX font size 3</font><br>
+<font size="3">(operators shown large are automatically "promoted"<br>
+to the larger size in \displaystyle mode)</font>
+<br><img src="../cgi-bin/mimetex.cgi?\array{3,r$1$\rm~chars~\\
+1$\rm~0-15:~&-&\cdot&\times&\ast&\div&\diamond&\pm&\mp&
+\oplus&\ominus&\otimes&\oslash&\odot&\bigcirc&\circ&\bullet\\
+1$\rm~16-31:~&\asymp&\equiv&\subseteq&\supseteq&\leq&\geq&\preceq&\succeq&
+\sim&\approx&\subset&\supset&\ll&\gg&\prec&\succ\\
+1$\rm~32-47:~&\leftar&\rightar&\uparr&\downar&\leftrightar&\near&\sear&
+\simeq&\Leftar&\Rightar&\Upar&\Downar&\Leftrightar&\nwar&\swar&\propto\\
+1$\rm~48-63:~&\prime&\infty&\in&\ni&\triangle&\bigtriangledo&/&\'&
+\forall&\exists&\neg&\emptyset&\Re&\Im&\top&\bot\\
+1$\rm~64-100:~&\aleph&&\calA&4$.\,.\,.&\calZ&&\cup&\cap&
+\uplus&\wedge&\vee&\vdash&\dashv&\lfloor&\rfloor&\lceil\\
+1$\rm~101-116:~&\rceil&\lbrace&\rbrace&\langle&\rangle&\mid&\parallel&
+\updownar&\Updownar&\setminus&\wr&\surd&\amalg&\nabla&\int&\sqcup\\
+1$\rm~117-127:~&\sqcap&\sqsubseteq&\sqsupseteq&\S&\dag&\ddag&\P&\clubsuit&
+\Diamond&\Heart&\spadesuit}" alt="" border=0 align=middle>
+  </td> <tr>
+  <tr> <td align="left">
+<font size="4">a few other cmmi, cmr, stmary and wncyr symbols
+at mimeTeX font size 4</font>
+<br><img src="../cgi-bin/mimetex.cgi?\array{4,r$
+1$\rm~cmmi:~&\leftharpoonup&\leftharpoondo&\rightharpoonup&\rightharpoondo&
+\triangleright&\triangleleft&\star&\partial&
+\flat&\natural&\sharp&\smile&\frown&\ell&\imath&\jmath&\wp&\vec\\
+1$\rm~cmr:~&\ss&\ae&\oe&\AE&\OE \\
+1$\rm~stmary:~&\moo&\Lbag&\Rbag&\lightning&\llbracket&\rrbracket&
+\subsetpluseq&\supsetpluseq&\Yup&\Ydown\\
+1$\rm~wncyr:~&\cyr A&\cyr a&\cyr B&\cyr b&\cyr V&\cyr v&\cyr G&\cyr g&
+\cyr D&\cyr d&\cyr Dj&\cyr dj&\cyr\=E&\cyr\=e&\cyr Zh&\cyr zh}"
+alt="" border=0 align=middle>
+  </td> <tr>
+ </table> </center>
+
 <h3> <a name="modes">Modes<font size=5>...</font></a> </h3>
 
  <p> MimeTeX is always in a math-like mode, so you needn't surround
@@ -2736,7 +3590,7 @@
         <a href="#preview"><img id="raiserot2" onclick="eqntext('raiserot2')"
         src="../cgi-bin/mimetex.cgi?
         \large\rm abc\raiseb{-2}{\reflectb[2]{\LARGE?}}def"
-        alt="" border=0 align=middle></a> </center>
+        alt="" border=0 align="bottom"></a> </center>
 
 <h3> <a name="compose">\compose{&nbsp;}{&nbsp;}<font size=5>...</font></a></h3>
 
@@ -2744,20 +3598,63 @@
      <b>\compose[<i>offset</i>]{<i>base</i>}{<i>overlay</i>}</b>
      superimposes the <b><i>overlay</i></b> expression on top of the
      <b><i>base</i></b> expression, displaying the result.
-     Optionally, the overlay is horizontally <b><i>offset</i></b>
-     by the specified number of pixels (positive offsets to the right,
-     negative to the left). For example, </p> <center>
-        <b>\compose{\LARGE O}{\normalsize c}</b> &nbsp; produces &nbsp;
+     The superimposed <b><i>overlay</i></b> is centered, both
+     horizontally and vertically, on the <b><i>base</i></b> image,
+     with the composite image baseline
+     <!-- the same as the <b><i>base</i></b>. -->
+     completely ignored.
+     That means the <b><i>base</i></b> remains positioned in your expression
+     just as if it had been rendered alone, while the <b><i>overlay</i></b>
+     is moved around, vertically as well as horizontally, to accommodate it.
+     For example, </p> <center>
+        <b>\compose{\LARGE O}{\normalsize c}</b> &nbsp; renders &nbsp;
         <a href="#preview"><img id="compose1" onclick="eqntext('compose1')"
         src="../cgi-bin/mimetex.cgi?\compose{\LARGE O}{\normalsize c}"
-        alt="" border=0 align=middle></a> </center>
+        alt="" border=0 align="bottom"></a> </center>
+
+ <p> Optionally, the <b><i>overlay</i></b> is horizontally
+     <b><i>offset</i></b> by the specified number of pixels
+     (positive offsets to the right, negative to the left).
+     For example, </p> <center>
+        <b>\compose[-4]{\LARGE O}{\normalsize c}</b> &nbsp; renders &nbsp;
+        <a href="#preview"><img id="compose2" onclick="eqntext('compose2')"
+        src="../cgi-bin/mimetex.cgi?\compose[-4]{\LARGE O}{\normalsize c}"
+        alt="" border=0 align="bottom"></a> </center>
+
+ <p> Vertical offset can be obtained using a <b>\raisebox</b>
+     in either the <b><i>base</i></b> or <b><i>overlay</i></b>
+     expression, or in both. (Although, note that 
+     <b>\compose{\raisebox{10}{<i>base</i>}}{<i>overlay</i>}</b>
+     renders identically to
+     <b>\raisebox{10}{\compose{<i>base</i>}{<i>overlay</i>}}</b>,
+     so applying <b>\raisebox</b> to the <b><i>base</i></b>
+     expression is typically unnecessary.)
+     Vertical <b><i>overlay</i></b> offset is relative to the
+     centered image, as discussed immediately above,
+     i.e.,&nbsp;<b>\compose{<i>base</i>}{\raisebox{0}{<i>overlay</i>}}</b>
+     has no effect at all, and the <b><i>overlay</i></b> image
+     remains centered on the <b><i>base</i></b>.
+     For example, </p> <center>
+        <b>abc\compose{\LARGE O}{\raisebox{5}{\normalsize c}}def</b>
+        &nbsp; renders &nbsp;
+        <a href="#preview"><img id="compose3" onclick="eqntext('compose3')"
+        src="../cgi-bin/mimetex.cgi?
+        abc\compose{\LARGE O}{\raisebox{5}{\normalsize c}}def"
+        alt="" border=0 align="bottom"></a>, and <br>
+        <b>abc\compose{\raisebox{10}{\LARGE O}}{\raisebox{-20}{\normalsize \
c}}def</b> +        &nbsp; renders &nbsp;
+        <a href="#preview"><img id="compose3" onclick="eqntext('compose3')"
+        src="../cgi-bin/mimetex.cgi?abc
+        \compose{\raisebox{10}{\LARGE O}}{\raisebox{-20}{\normalsize c}}def"
+        alt="" border=0 align="bottom"></a></center>
 
  <p> Separately or in some judicious combination, <b>\compose</b> and
-     <b>\raisebox</b> and <b>\rotatebox</b> and <b>\reflectbox</b>
-     should help you construct special symbols not "natively" available
-     with mimeTeX's limited set of built-in font families.
-     This can be especially useful in conjunction with the
-     <b>-DNEWCOMMANDS</b> compile-time
+     <b>\raisebox</b> and <b>\rotatebox</b> and <b>\reflectbox</b>,
+     discussed above, perhaps along with <b>\rule</b> and <b>\eval</b>
+     discussed immediately below, may help you construct special symbols
+     not "natively" available with mimeTeX's limited set of built-in font
+     families. This can be especially useful in conjunction with the
+     <a href="#newcommands">&#150;DNEWCOMMANDS</a> compile-time
      <a href="#options">option</a> discussed above. </p>
 
 <h3> <a name="rule">\rule{&nbsp;}{&nbsp;}<font size=5>...</font></a></h3>
@@ -2787,6 +3684,166 @@
         src="../cgi-bin/mimetex.cgi?\frac12xyz\rule[-15]{10}{20}ghi"
         alt="" border=0 align=middle></a> </center>
 
+<h3> <a name="evaluate">\eval{&nbsp;}<font size=5>...</font></a> </h3>
+
+ <p class="continue"> mimeTeX can evaluate arithmetic expressions,
+     which is a feature intended primarily for use in
+     <a href="#newcommands">\newcommand's</a> discussed above.
+     Expressions can be built up from the following elements </p>
+     <ul>
+       <li> digits &nbsp; <b>0</b>-<b>9</b>
+         &nbsp; and numbers composed of uninterrupted (no whitespace)
+         sequences of digits, </li>
+       <li> binary operators &nbsp;
+         <b>+</b>,&nbsp;<b>-</b>,&nbsp;<b>*</b>,&nbsp;<b>/</b>,&nbsp;<b>%</b>
+         &nbsp; (<b>+</b>&nbsp;and&nbsp;<b>-</b> can be unary, preceding
+         the first number in an expression, and&nbsp;<b>%</b>&nbsp;is
+         the modulo operator), </li>
+       <li> balanced &nbsp; <b>(</b>&nbsp;...&nbsp;<b>)</b>
+         &nbsp; parentheses nested to any level (see below), </li>
+       <li> whitespace anywhere
+         (except between digits comprising a number), </li>
+       <li> One additional construction interpreted by <b>\eval{&nbsp;}</b>
+         is similar to (but not identical to) the
+         <a href="http://wikipedia.org/wiki/Conditional_(programming)#As_a_ternary_operator"
 +         target="_top">?:&nbsp;conditional</a>, as follows.
+         The expression <b>(i?v0:v1:v2:<i>etc</i>)</b>, usually
+         parenthesized as illustrated, evaluates to <b>v0</b>
+         if <b>i</b> evaluates to <b>0</b>, or evaluates to <b>v1</b>
+         if <b>i</b> evaluates to <b>1</b>, etc. If <b>i&nbsp;&lt;&nbsp;0</b>
+         then <b>v0</b> is used, and if <b>i</b> is too large, the last
+         <b>v</b> is used. All components, <b>i</b> and all <b>v</b>'s,
+         can themselves be expressions, even another
+         <b>(i?v0:v1:v2:<i>etc</i>)</b>, which in this case must be
+         parenthesized. The only situation where parentheses aren't
+         required is when <b>i?v0:v1:v2:<i>etc</i></b> comprises
+         your entire expression.
+         For example, <br> <nobr>&nbsp; &nbsp; &nbsp;
+           <b>\eval{1+2?10:11:12:13:14:15}</b> renders
+          <a href="#preview"><img id="eval1" onclick="eqntext('eval1')"
+          src="../cgi-bin/mimetex.cgi?\large\eval{1+2?10:11:12:13:14:15}"
+          alt="" border=0 align=bottom></a></nobr></li>
+       <li> and <u>&nbsp;most&nbsp;importantly,&nbsp;</u>
+           the built-in variables<br>
+           &nbsp; &nbsp; &nbsp; <b>fs</b> for current fontsize and<br>
+           &nbsp; &nbsp; &nbsp; <b>unitlength</b> for unitlength<br>
+         which provide the capability for useful constructions,
+         as follows... </li>
+     </ul>
+
+ <p> All optional <b>[</b>&nbsp;<b>]</b> and mandatory
+     <b>{</b>&nbsp;<b>}</b> numeric arguments for &nbsp;
+     <a href="#rule">\rule[lift]{width}{height}</a>, &nbsp;
+     <a href="#compose">\compose[offset]{&nbsp;}{&nbsp;}</a>, &nbsp;
+     <a href="#raiserotate">\raisebox{height}{&nbsp;}</a>, &nbsp;
+     <a href="#raiserotate">\rotatebox{angle}{&nbsp;}</a>, &nbsp; and &nbsp;
+     <a href="#arrows">\longarrow[width]</a> &nbsp;
+     can be expressions as described above, rather than just
+     numeric constants. By using the <b>fs</b> variable, you can
+     construct <a href="#newcommands">\newcommand</a>
+     expressions that properly scale with font&nbsp;size.
+     For example, the <b>\mapsto</b> symbol is not explicitly provided
+     in any mimeTeX font, but is instead constructed by the
+     embedded <a href="#newcommands">\newcommand</a><br>
+       <nobr>&nbsp; &nbsp; &nbsp;<b>
+       { "\\mapsto", NULL, "{\\rule[fs/2]{1}{5+fs}\\hspace{-99}\\to}" },</b>
+       </nobr><br>
+     where \rule's [lift]=fs/2 and {height}=5+fs are scaled by
+     font&nbsp;size to render symbols<br>
+     &nbsp;
+      <a href="#preview"><img id="eval2" onclick="eqntext('eval2')"
+      src="../cgi-bin/mimetex.cgi?\small\text\begin{array}{rrl}
+      \backslash tiny & fs=\tiny\eval{fs} & \tiny\mapsto \\
+      \backslash small & fs=\small\eval{fs} & \small\mapsto \\
+      \backslash normalsize & fs=\normal\eval{fs} & \normal\mapsto\\
+      \backslash large & fs=\large\eval{fs} & \large\mapsto \\
+      etc. & &
+      \end{array}" alt="" border=0 align=middle></a><br>
+     whose rendering automatically varies appropriately with font&nbsp;size.
+     This kind of <a href="#newcommands">\newcommand</a> construction
+     is the primary use intended for mimeTeX's expression evaluation feature.
+     </p>
+
+ <p> But mimeTeX also provides the <b>\eval{<i>expression</i>}</b>
+     command to make the expression evaluation feature render
+     &quot;visible&quot; results. It's not particularly useful,
+     but an expression like &nbsp; <b>1+2+3+4+5=\eval{1+2+3+4+5}</b> &nbsp;
+     renders &nbsp;
+      <a href="#preview"><img id="eval2" onclick="eqntext('eval2')"
+      src="../cgi-bin/mimetex.cgi?\small 1+2+3+4+5=\eval{1+2+3+4+5}"
+      alt="" border=0 align="bottom"></a>. </p>
+
+ <p> Finally, one little &quot;gotcha&quot; is mimeTeX's
+     order&nbsp;of&nbsp;evaluation when interpreting expressions.
+     Parentheses are respected as you'd expect. But within
+     &nbsp; <b>(</b>...<b>)</b> &nbsp; parentheses, or in an
+     unparenthesized expression, mimeTeX finds the first (reading
+     from the left) operator, then iteratively evaluates the
+     separate subexpressions to that operator's left and to its right,
+     and then finally combines those two separate results.
+     So an expression like <b>2*3+4</b>&nbsp;renders&nbsp;<b>14</b>,
+     and you need to write <b>(2*3)+4</b>&nbsp;to&nbsp;get&nbsp;<b>10</b>.
+     </p>
+
+
+<h3> <a name="magstep"> \magstep{&nbsp;} &nbsp; and &nbsp;
+     \magbox{&nbsp;}{&nbsp;}<font size=5>...</font></a> </h3>
+
+ <p class="continue">
+     &nbsp;<b>\magstep{<i>magnification</i>}</b>, placed anywhere
+     within an expression, magnifies the entire expression
+     by an integer factor <b>1&lt;=<i>magnification</i>&lt;=10</b>
+     in both width and height.
+     Each single pixel thus becomes a square box, <i>e.g.</i>,
+     for <b><i>magnification</i>=2</b> each single pixel becomes
+     a four-pixel square box with dimensions&nbsp;<b>2</b>-by-<b>2</b>.
+     This compromises mimeTeX's anti-aliasing algorithm,
+     and the resulting image is both hazy/blurry and jagged/staircased
+     compared to an unmagnified image of the same expression.
+     For example, at <b>\LARGE</b> size,<br>
+      <nobr> &nbsp; &nbsp; &nbsp &nbsp;     
+        <b>f(x)=x^2</b> &nbsp;
+        renders &nbsp;
+        <a href="#preview"><img id="magbox1" onclick="eqntext('magbox1')"
+        src="../cgi-bin/mimetex.cgi?\LARGE f(x)=x^2"
+        alt="" border=0 align="absmiddle"></a> &nbsp; and </nobr><br>
+      <nobr> &nbsp; &nbsp; &nbsp &nbsp;     
+        <b>\magstep{2} f(x)=x^2</b> &nbsp;
+        renders &nbsp;
+        <a href="#preview"><img id="magbox2" onclick="eqntext('magbox2')"
+        src="../cgi-bin/mimetex.cgi?\LARGE\magstep{2} f(x)=x^2"
+        alt="" border=0 align="absmiddle"></a>&nbsp;, &nbsp; whereas </nobr><br>
+      at mimeTeX's largest &quot;native&quot; font&nbsp;size, <br>
+      <nobr> &nbsp; &nbsp; &nbsp &nbsp;     
+        <b>\Huge f(x)=x^2</b> &nbsp;
+        renders &nbsp;
+        <a href="#preview"><img id="magbox3" onclick="eqntext('magbox3')"
+        src="../cgi-bin/mimetex.cgi?\HUGE f(x)=x^2"
+        alt="" border=0 align="absmiddle"></a>&nbsp;. </nobr><br>
+     Nevertheless, if you still want to render images larger than
+     mimeTeX's <b>\Huge</b> size, then <b>\magstep{<i>magnification</i>}</b>
+     may render almost-acceptable results. </p>
+
+ <p> To magnify just part of an expression,
+     you can use <b>\magbox{<i>magnification</i>}{<i>expression</i>}</b>,
+     which only magnifies each pixel within the enclosed
+     <b>{<i>expression</i>}</b>, again
+     by an integer factor <b>1&lt;=<i>magnification</i>&lt;=10</b>
+     in both width and height, and also adjusts the baseline accordingly.
+     But <b>\magbox</b> is applied directly to mimeTeX's black-and-white
+     bitmap <u><b><i>&nbsp;before&nbsp;anti-aliasing&nbsp;</i></b></u>.
+     At the present time, this virtually completely defeats
+     mimeTeX's anti-aliasing algorithm, and the resulting image
+     exhibits even more pronounced jagged-line/staircase effects.
+     For example, <br>
+      <nobr> &nbsp; &nbsp; &nbsp &nbsp;     
+        <b>\LARGE f(x)={\magbox{2}{x}}^2</b> &nbsp;
+        renders &nbsp;
+        <a href="#preview"><img id="magbox5" onclick="eqntext('magbox5')"
+        src="../cgi-bin/mimetex.cgi?\LARGE f(x)={\magbox{2}{x}}^2"
+        alt="" border=0 align="absmiddle"></a>.<br>
+     </p>
+
 <h3> <a name="abbreviations">Abbreviations<font size=5>...</font></a> </h3>
 
  <p class="continue"> 
@@ -2933,6 +3990,9 @@
        <tr> <td align="left">   <b>\begin{matrix}</b>        </td>
             <td align="center"> <b>a&b&c \\ d&e&f \\ etc</b> </td>
             <td align="left">   <b>\end{matrix}</b>          </td> </tr>
+       <tr> <td align="left">   <b>\begin{tabular}</b>       </td>
+            <td align="center"> <b>a&b&c \\ d&e&f \\ etc</b> </td>
+            <td align="left">   <b>\end{tabular}</b>         </td> </tr>
        <tr> <td align="left">   <b>\begin{pmatrix}</b>       </td>
             <td align="center"> <b>a&b&c \\ d&e&f \\ etc</b> </td>
             <td align="left">   <b>\end{pmatrix}</b>         </td> </tr>
@@ -3340,6 +4400,14 @@
      In any case, if <b><i>filename</i></b> isn't found, then
      <b>\input</b> tries to read <b><i>filename</i>.tex</b> instead.</p>
 
+ <p> And for further security, <b>\input{&nbsp;}</b> is disabled by default
+     unless mimeTeX is compiled with either the <b>-DINPUTOK</b> or
+     <b>-DINPUTPATH</b> or <b>-DINPUTREFERER</b>
+     <a href="#options">compile&nbsp;option</a> discussed above.
+     When it's disabled, the command  <b>\input{<i>filename</i>}</b>
+     renders the error message
+     <b>[\input{<i>filename</i>}&nbsp;not&nbsp;permitted]</b>&nbsp;. </p>
+
  <p> MimeTeX also supports the optional form
      <b>\input{<i>filename:tag</i>}</b>.  In this case,
      <b><i>filename</i></b> is read as before, but only those characters
@@ -3364,6 +4432,14 @@
      the <b>\counter</b> command, Unix "touch" and "chmod" those files
      so they're mimeTeX readable and writable. </p>
 
+ <p> Also as with <b>\input</b>, for security <b>\counter</b> is
+     disabled by default unless mimeTeX is compiled with either
+     the <b>-DINPUTOK</b> or the <b>-DCOUNTEROK</b>
+     <a href="#options">compile&nbsp;option</a>
+     (notice that <b>-DINPUTOK</b> also enables <b>\counter</b>).
+     If you've compiled mimeTeX with <b>\counter</b> enabled,
+     then it behaves as <nobr>follows...</nobr> </p>
+
  <p> If <b><i>counterfile</i></b> isn't readable and writable,
      then the <b>\counter</b> command always displays
      <b>1<sup><u>st</u></sup></b>.  Otherwise, it maintains a
@@ -3405,6 +4481,25 @@
      unless/until you "touch" and "chmod" counters.txt (and, optionally,
      counters.log) in your mimetex.cgi directory. </p>
 
+<h3> <a name="environment">\environment
+<font size=5>...</font></a> </h3>
+ <p> Submitting the expression &nbsp; <b>\environment</b> &nbsp;
+     to mimeTeX renders </p> <center>
+       <img id="environ1"
+       src="../cgi-bin/mimetex.cgi?\nocaching\environment"
+       align="middle" border=0> </center>
+ <p class="continue"> displaying the http environment variables
+     known to mimeTeX.  This is primarily a programming aid,
+     showing information available to mimeTeX that might facilitate
+     future enhancements. </p>
+
+ <p> As with <b>\input</b> and <b>\counter</b> above,
+     for security <b>\environment</b> is
+     disabled by default unless mimeTeX is compiled with either
+     the <b>-DINPUTOK</b> or the <b>-DENVIRONOK</b>
+     <a href="#options">compile&nbsp;option</a>
+     (notice that <b>-DINPUTOK</b> also enables <b>\environment</b>). </p>
+
 
 <h2> <a name="exceptions"> (IIIh) Other Exceptions
 to LaTeX Syntax &nbsp; </a> </h2>
@@ -3421,6 +4516,98 @@
      e.g., you must write <b>\sqrt{\frac\alpha\beta}</b>, etc. </p>
 
 
+<h2> <a name="messages"> (IIIi) mimeTeX Errors
+and Messages &nbsp; </a> </h2>
+
+<h3> mimeTeX Errors<font size=5>...</font> </h3>
+
+ <p> Any (La)TeX error is typically also a mimeTeX error.
+     However, mimeTeX has no command line interface or
+     <b>.</b>log file for reporting errors.  Its only
+     communication with you is through the mimeTeX image
+     rendered by your browser.  So error messages are embedded
+     in that image whenever feasible.  For example,
+     suppose you want to see
+      <a href="#preview"><img id="messages1" onclick="eqntext('messages1')"
+      src="../cgi-bin/mimetex.cgi?\normalsize\alpha\beta\gamma\delta"
+      border=0 align=bottom></a>, but you mistakenly type
+      &nbsp; <b>\alpha\bethe\gamma\delta</b> &nbsp; instead.
+     Then the image rendered is
+      <a href="#preview"><img id="messages2" onclick="eqntext('messages2')"
+      src="../cgi-bin/mimetex.cgi?\normalsize\alpha\bethe\gamma\delta"
+      border=0 align=bottom></a>, indicating the unrecognized
+     <b>[\bethe?]</b> where you wanted to type &nbsp; <b>\beta</b> &nbsp;
+     and hoped to see
+      <a href="#preview"><img id="messages3" onclick="eqntext('messages3')"
+      src="../cgi-bin/mimetex.cgi?\normalsize\bf\beta"
+      border=0 align=bottom></a>.
+     If your expression contains some unprintable character
+     (meaning any character mimeTeX has no bitmap for),
+     then just &nbsp;
+      <a href="#preview"><img id="messages4" onclick="eqntext('messages4')"
+      src="../cgi-bin/mimetex.cgi?\small\bf[?]"
+      border=0 align=bottom></a> &nbsp; is displayed in the
+     corresponding position. </p>
+
+ <p> The preceding example illustrates a pretty trivial error.
+     Any non-trivial errors in your expression are likely to
+     go unrecognized and unreported by mimeTeX, and to render
+     unexpected images.  While checking your input expression
+     for syntax errors, keep in mind the following points
+     about mimeTeX's behavior: </p>
+     <ul>
+       <li> An unmatched left brace &nbsp; <b>{</b> &nbsp; is matched
+            by mimeTeX with a "phantom" right brace &nbsp; <b>}</b> &nbsp;
+            that's imagined to be at the end of your expression. </li>
+       <li> Likewise, an unmatched &nbsp; <b>\left(</b>, &nbsp;
+            or <b>\left\{</b> &nbsp; or <b>\left\</b><i>anything</i>, &nbsp;
+            is matched by mimeTeX with a "phantom" &nbsp; <b>\right.</b>
+            &nbsp; at the end of your expression. </li>
+       <li> On the other hand, an unmatched right brace &nbsp; <b>}</b>
+            &nbsp; is displayed in place, as if you had typed \rbrace. </li>
+       <li> But an unmatched &nbsp; <b>\right\</b><i>anything</i> &nbsp;
+            is interpreted as an abbreviation for <b>\</b>rightarrow
+            followed by <b>\</b><i>anything</i>.  For example, &nbsp;
+            <b>\leff(&nbsp;abc&nbsp;\right)&nbsp;def</b> &nbsp; renders &nbsp;
+              <a href="#preview"><img id="messages5"
+              onclick="eqntext('messages5')"
+              src="../cgi-bin/mimetex.cgi?\small\leff(abc\right)def"
+              border=0 align=bottom></a>. </li>
+     </ul> <!-- p class="continue">
+     </p -->
+
+<h3> mimeTeX Messages<font size=5>...</font> </h3>
+
+<!--
+ <p> The special mimeTeX directive &nbsp; <b>\version</b> &nbsp;
+     displays the following information </p>
+     <center>
+       <a href="#preview"><img id="messages6" onclick="eqntext('messages6')"
+       src="../cgi-bin/mimetex.cgi?\version"
+       border=0 align=middle> </a> </center>
+-->
+ <p> The latest release of mimeTeX is version
+       <a href="#preview"><img id="messages11" onclick="eqntext('messages11')"
+       src="../cgi-bin/mimetex.cgi?\small\versionnumber"
+       alt="" border=0 align="bottom"></a>
+     which was last revised
+       <a href="#preview"><img id="messages12" onclick="eqntext('messages12')"
+       src="../cgi-bin/mimetex.cgi?\small\revisiondate"
+       alt="" border=0 align="bottom"></a>.
+     The special mimeTeX directive &nbsp; <b>\version</b> &nbsp;
+     displays that same information, </p>
+      <center>
+       <a href="#preview"><img id="messages13" onclick="eqntext('messages13')"
+       src="../cgi-bin/mimetex.cgi?\version"
+       alt="" border=0 align=middle></a> </center>
+ <p> To check that your own release of mimeTeX is current,
+     type a url into your browser's locator window something like <br>
+        &nbsp; &nbsp; &nbsp; &nbsp;
+     <b>http://www.<i>yourdomain</i>.com/cgi-bin/mimetex.cgi?\version</b> <br>
+     which will display the version and revision date of
+     mimeTeX installed on your server. </p>
+
+
 <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 SECTION IV.  APPENDICES
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
@@ -3555,24 +4742,36 @@
 
 <p> One small problem with the above procedure is that the default
   &nbsp; gftype &nbsp; program supplied with most TeX distributions
-  can't emit the long lines needed to display mimeTeX's larger font
-  sizes.  You'll need to compile your own version from source.
+  can't emit the long lines needed to display mimeTeX's larger font sizes.
+  <a href="http://www.forkosh.com/gftype.zip"
+  target="_top">gftype.zip</a>&nbsp;contains a statically linked linux
+  executable modified to emit the necessary long lines.
+  It may or may not run on your intel linux machine.
+  If not, you'll need to compile your own version from source.
   The following instructions are for Unix/Linux: <br> &nbsp; &nbsp;
   &nbsp; &nbsp; First, download both 
-  <a href="http://www.ctan.org/tex-archive/systems/web2c/web-7.5.3.tar.gz"
+  <!-- http://www.ctan.org/tex-archive/systems/web2c/web-7.5.3.tar.gz -->
+  <a href="http://www.forkosh.com/web-7.5.3.tar.gz"
   target="_top">web-7.5.3.tar.gz</a> and
-  <a href="http://www.ctan.org/tex-archive/systems/web2c/web2c-7.5.3.tar.gz"
-  target="_top">web2c-7.5.3.tar.gz</a>,
-  or more recent versions.  Then &nbsp; untar &nbsp; them both,
+  <!-- http://www.ctan.org/tex-archive/systems/web2c/web2c-7.5.3.tar.gz -->
+  <a href="http://www.forkosh.com/web2c-7.5.3.tar.gz"
+  target="_top">web2c-7.5.3.tar.gz</a>
+  <!-- or more recent versions. --> (note: these files are no longer
+  explicitly archived by&nbsp;<a href="http://www.ctan.org/"
+  target="_top">ctan</a>, having been superceded
+  by&nbsp;<a href="http://www.ctan.org/tex-archive/systems/texlive"
+  target="_top">texlive</a>&nbsp;sources, so the preceding two links
+  point to copies kept on my site, www.forkosh.com).
+  Then &nbsp; untar &nbsp; both gzipped tar files,
   &nbsp; cd&nbsp;web2c-7.5.3/ &nbsp; and run &nbsp; ./configure &nbsp;
   and &nbsp; make &nbsp; in the usual way (make may fail before
   completion if you don't have all needed fonts installed,
   but it will create and compile gftype.c before failing).  Now edit
-  &nbsp; texk/web2c/gftype.c&nbsp; and notice two lines very near the top
-  that &nbsp; #define&nbsp;maxrow&nbsp;(79) &nbsp and similarly for maxcol.
-  Change both 79's to 1024, and then re-run make.  The new &nbsp;
-  texk/web2c/gftype &nbsp; executable image can emit the long
-  lines needed for mimeTeX's larger font sizes. </p>
+  &nbsp; texk/web2c/gftype.c&nbsp; and notice three lines very near the top
+  that &nbsp; #define&nbsp;maxrow&nbsp;(79) &nbsp and similarly for
+  maxcol and linelength. Change all three 79's to 1024, and
+  then re-run make. The new &nbsp; texk/web2c/gftype &nbsp; executable
+  image can emit the long lines needed for mimeTeX's larger font sizes. </p>
 
 <p> Finally, the Unix/Linux bash shell script
   <a href="http://www.forkosh.com/texfonts.sh"
@@ -3950,7 +5149,7 @@
 <hr size=4>
 <table> <tr>
  <td> <font size=3 color="maroon"> <b>
-  <nobr>Copyright <font size=5>&copy;</font> 2002-2008,
+  <nobr>Copyright <font size=5>&copy;</font> 2002-2012,
   <a href="http://www.forkosh.com">John Forkosh Associates, Inc.</a>
   </nobr><br>
   email: <a href="mailto:john&#64;forkosh&#46;com">john&#64;forkosh&#46;com</a>
Index: loncom/cgi/mimeTeX/texfonts.h
diff -u loncom/cgi/mimeTeX/texfonts.h:1.4 loncom/cgi/mimeTeX/texfonts.h:1.5
--- loncom/cgi/mimeTeX/texfonts.h:1.4	Thu Dec  4 12:17:13 2008
+++ loncom/cgi/mimeTeX/texfonts.h	Sat Jun  9 00:58:11 2012
@@ -2,7 +2,7 @@
 #define _TEXFONTS
 /****************************************************************************
  *
- * Copyright(c) 2002-2008, John Forkosh Associates, Inc. All rights reserved.
+ * Copyright(c) 2002-2012, John Forkosh Associates, Inc. All rights reserved.
  *           http://www.forkosh.com   mailto: john@forkosh.com
  * --------------------------------------------------------------------------
  * This file is part of mimeTeX, which is free software. You may redistribute
@@ -63,12 +63,13 @@
  * 07/12/03	J.Forkosh	Entirely new set of fonts generated.
  * 10/21/05	J.Forkosh	Compressed fonts generated
  * 09/06/08	J.Forkosh	mimeTeX version 1.70 released.
+ * 03/08/12	J.Forkosh	mimeTeX version 1.74, sizes 8-10 added.
  *
  ***************************************************************************/
 
 
 /* ------------------------------------------------------------------------
-font sizes 0-7 for cmr10
+font sizes 0-10 for cmr10
 ------------------------------------------------------------------------ */
 
 /* --- size=0 for .83gf ---
@@ -5982,8 +5983,3780 @@
    } ;
 
 
+/* --- size=8 for .325gf ---
+ * mf '\mode=preview; mag=magstep(-11.40956951729850636869); input cmr10'
+ * --------------------------------------------------------------------- */
+/* --- fontdef for cmr325 --- */
+static	chardef  cmr325[] =
+   {
+      /* --- pixel bitmap for cmr325 char#0 \Gamma --- */
+      {   0,57877,                      /* character number, location */
+         31, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 25,   31, 3,59, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x0e\x0a\x64\xb4\x10\xf1\x54\xd2\x10\x54\xe1\x64\xe2"
+            "\xf3\x54\xe0\x11\xfe\x54\xe0\x20\xf3\x54\xe0\x20\x55"
+            "\xe0\x1e\x01\xa2" }  },
+      /* --- pixel bitmap for cmr325 char#1 \Delta --- */
+      {   1,58824,                      /* character number, location */
+         32, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 33,   32, 3,180, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x21\xe0\x20\xf1\xe0\x13\xe0\x10\xf1\xe5\xe0\xd1"
+            "\x15\xe0\xc1\x24\xe0\xb1\x35\xe0\xa1\x44\xe0\x91\x55"
+            "\xe0\x81\x64\xe0\x71\x75\xe0\x61\x84\xe0\x51\x95\xe0"
+            "\x41\xa4\xe0\x31\xb5\xe0\x21\xc4\xe0\x11\xd5\xe1\xe4"
+            "\xd1\xe0\x15\xc1\xe0\x24\xb1\xe0\x35\xa1\xe0\x44\x91"
+            "\xe0\x55\x81\xe0\x64\x71\xe0\x75\x61\xe0\x84\x51\xe0"
+            "\x95\x41\xe0\xa4\x20\xf1\x1e\x0e\x03\x1e\x0e\x05" }  },
+      /* --- pixel bitmap for cmr325 char#2 \Theta --- */
+      {   2,60017,                      /* character number, location */
+         32, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 29,   33, 3,165, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xb7\xe0\x54\x54\xe0\x13\x93\xd3\xb3\xb3\xd3\x93\xe0"
+            "\x13\x74\xe0\x14\x30\xf1\x24\xe0\x34\x20\xf1\x15\xe0"
+            "\x35\x10\x14\xe0\x54\x15\xe0\x55\x0f\x15\x41\x91\x45"
+            "\x0f\x25\x4b\x45\x0f\x15\x41\x91\x45\x05\xe0\x55\x14"
+            "\xe0\x54\x10\xf1\x15\xe0\x35\x10\xf1\x24\xe0\x34\x20"
+            "\x34\xe0\x14\x73\xe0\x13\x93\xd3\xb3\xb3\xd3\x93\xe0"
+            "\x14\x54\xe0\x57\xb0" }  },
+      /* --- pixel bitmap for cmr325 char#3 \Lambda --- */
+      {   3,61121,                      /* character number, location */
+         32, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 29,   32, 3,130, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe1\xe0\xf2\xd3\xd0\xf2\xc5\xc0\xb7\xb0\xf1\xb1\x24"
+            "\xb0\xa2\x25\xa0\xf1\xa1\x44\xa0\x92\x45\x90\xf1\x91"
+            "\x64\x90\x82\x65\x80\xf1\x81\x84\x80\x72\x85\x70\xf1"
+            "\x71\xa4\x70\x62\xa5\x60\xf1\x61\xc4\x60\x52\xc5\x50"
+            "\xf1\x51\xe4\x50\x42\xe4\x92\xe0\x14\x74\xd5\x49\x8c" }  },
+      /* --- pixel bitmap for cmr325 char#4 \Xi --- */
+      {   4,62554,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 26,   31, 3,66, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf2\x0e\x0c\x0f\x31\xe0\xa1\xf3\xe0\xc0\xf1\x41\xe0"
+            "\x21\x40\xf2\x4e\x04\x40\xf1\x41\xe0\x21\x40\xf5\xe0"
+            "\xcf\x31\xe0\xa1\x0f\x2e\x0c" }  },
+      /* --- pixel bitmap for cmr325 char#5 \Pi --- */
+      {   5,63781,                      /* character number, location */
+         31, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 32,   31, 3,24, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x0e\x0e\x04\xfe\x54\xe4\x50\xfd\x54\xe4\x5e\x4e" }  },
+      /* --- pixel bitmap for cmr325 char#6 \Sigma --- */
+      {   6,64972,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 28,   31, 3,161, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0e\x0d\x24\xe0\x26\x25\xe0\x43\x35\xe0\x42\x44\xe0"
+            "\x51\x45\xe0\x42\x45\xe0\x32\x54\xe0\x41\x55\xe0\x31"
+            "\x64\xe0\x31\x74\xe0\xa5\xe0\xa4\xe0\xb4\xe0\xa5\xe0"
+            "\xa4\xe0\xb3\xe0\xb2\xe0\xc1\xe0\xc1\xe0\xc1\xe0\x31"
+            "\x81\xe0\x41\x71\xe0\x51\x61\xe0\x52\x51\xe0\x62\x41"
+            "\xe0\x71\x51\xe0\x62\x41\xe0\x63\x31\xe0\x46\x2e\x0c"
+            "\x1e\x0d\x10" }  },
+      /* --- pixel bitmap for cmr325 char#7 \Upsilon --- */
+      {   7,66120,                      /* character number, location */
+         32, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 29,   32, 3,77, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x35\xd5\x58\x98\x3a\x7a\x2b\x5b\x13\x55\x44\x55\x83"
+            "\x34\x73\xa3\x23\x92\xa3\x22\xa1\xc2\x13\xe0\x96\xe0"
+            "\x95\xc0\xfe\xd4\xc0\xf3\xd4\xc0\xc6\xe0\x4e\x02\x60" }  },
+      /* --- pixel bitmap for cmr325 char#8 \Phi --- */
+      {   8,67208,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 28,   31, 3,121, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x6e\x02\xe0\x36\xb0\xf3\xc4\xc0\x9a\xe0\x14\x24\x24"
+            "\xb3\x44\x43\x84\x54\x54\x54\x64\x64\x35\x64\x65\x24"
+            "\x74\x74\x1f\x45\x74\x75\x14\x74\x74\x25\x64\x65\x34"
+            "\x64\x64\x54\x54\x54\x83\x44\x43\xb4\x24\x24\xe0\x1a"
+            "\x90\xf3\xc4\xc0\xb6\xe0\x3e\x02\x62" }  },
+      /* --- pixel bitmap for cmr325 char#9 \Psi --- */
+      {   9,68401,                      /* character number, location */
+         31, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 29,   31, 3,103, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x7e\x02\xe0\x46\xb0\xf2\xd4\xc5\x84\x75\xf1\x24\x74"
+            "\x64\x20\xf8\x34\x64\x54\x30\x44\x54\x53\x84\x54\x44"
+            "\x93\x54\x43\xa4\x44\x34\xb3\x44\x33\xd3\x34\x23\xe0"
+            "\x23\x18\xe0\x58\xa0\xf3\xd4\xc0\xc6\xe0\x4e\x02\x6a" }  },
+      /* --- pixel bitmap for cmr325 char#10 \Omega --- */
+      {  10,69638,                      /* character number, location */
+         32, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 28,   32, 3,135, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xa8\xe0\x34\x64\xc4\xa4\x94\xc4\x74\xe4\x54\xe0\x24"
+            "\x20\xf1\x15\xe0\x25\x1f\x55\xe0\x45\x14\xe0\x44\x10"
+            "\xf1\x15\xe0\x25\x10\xf1\x24\xe0\x24\x20\x34\xe4\x73"
+            "\xe3\x40\xf1\x53\xc3\x50\x62\xc2\xd2\xa2\x71\x62\xa2"
+            "\x62\x71\xa1\x72\x72\x82\x71\x11\x71\x81\x71\x10\xf2"
+            "\x19\x89\x11" }  },
+      /* --- pixel bitmap for cmr325 char#11 \ff --- */
+      {  11,118093,                     /* character number, location */
+         31, 0,    0, 0,      /* topleft row,col, and botleft row,col */
+          { 29,   31, 3,65, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xb6\x55\xa4\x52\x13\x32\x83\x74\x44\x63\x75\x44\x62"
+            "\x84\x62\x10\xf6\x53\x93\x9e\x0b\x40\xfe\x53\x93\x90"
+            "\xf1\x53\x93\x90\x29\x3a\x52" }  },
+      /* --- pixel bitmap for cmr325 char#12 \fi --- */
+      {  12,119337,                     /* character number, location */
+         31, 0,    0, 0,      /* topleft row,col, and botleft row,col */
+          { 24,   31, 3,58, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xb6\xe0\x14\x51\xd3\x72\xb3\x74\xa2\x84\x93\x84\x40"
+            "\xf5\x53\xe0\x2e\x06\x40\xfe\x53\x93\x40\xf1\x53\x93"
+            "\x40\x29\x3a" }  },
+      /* --- pixel bitmap for cmr325 char#13 \fl --- */
+      {  13,120557,                     /* character number, location */
+         31, 0,    0, 0,      /* topleft row,col, and botleft row,col */
+          { 24,   31, 3,52, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xb9\xc4\x53\xb3\x64\xa3\x74\xa2\x93\x40\xf6\x53\x93"
+            "\x4e\x06\x40\xfe\x53\x93\x40\xf1\x53\x93\x40\x29\x3a" }  },
+      /* --- pixel bitmap for cmr325 char#14 \ffi --- */
+      {  14,122234,                     /* character number, location */
+         31, 0,    0, 0,      /* topleft row,col, and botleft row,col */
+          { 35,   31, 3,80, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xb6\x66\xe4\x51\x24\x51\xc3\x75\x72\xa3\x75\x74\x92"
+            "\x84\x84\x83\x84\x84\x30\xf5\x53\x93\xe0\x1e\x0e\x04"
+            "\x30\xfe\x53\x93\x93\x30\xf1\x53\x93\x93\x30\x29\x39"
+            "\x39" }  },
+      /* --- pixel bitmap for cmr325 char#15 \ffl --- */
+      {  15,123961,                     /* character number, location */
+         31, 0,    0, 0,      /* topleft row,col, and botleft row,col */
+          { 35,   31, 3,74, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xb6\x69\xb4\x52\x14\x53\xa3\x75\x64\x93\x75\x74\x92"
+            "\x84\x93\x30\xf6\x53\x93\x93\x3e\x0e\x04\x30\xfe\x53"
+            "\x93\x93\x30\xf1\x53\x93\x93\x30\x29\x39\x39" }  },
+      /* --- pixel bitmap for cmr325 char#16 \imath --- */
+      {  16,84431,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          {  9,   19, 3,16, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x06\x30\xfe\x33\x30\xf1\x33\x39" }  },
+      /* --- pixel bitmap for cmr325 char#17 \jmath --- */
+      {  17,85147,                      /* character number, location */
+         19,-3,   -9,-3,      /* topleft row,col, and botleft row,col */
+          { 12,   28, 3,29, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x57\x84\xfe\x93\xf5\x93\x12\x67\x52\x14\x42\x32\x42"
+            "\x56\x40" }  },
+      /* --- pixel bitmap for cmr325 char#18 \gravesym --- */
+      {  18,109160,                     /* character number, location */
+         31, 5,   23, 5,      /* topleft row,col, and botleft row,col */
+          {  8,    8, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x07\x07\x0f\x1c\x38\x30\x60\xc0" }  },
+      /* --- pixel bitmap for cmr325 char#19 \acutesym --- */
+      {  19,109739,                     /* character number, location */
+         31, 9,   23, 9,      /* topleft row,col, and botleft row,col */
+          {  8,    8, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\xf0\x38\x1c\x0c\x06\x03" }  },
+      /* --- pixel bitmap for cmr325 char#20 \checksym --- */
+      {  20,110374,                     /* character number, location */
+         28, 5,   23, 5,      /* topleft row,col, and botleft row,col */
+          { 12,    5, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x03\xec\x70\xf8\x01\x0f\x60\x00" }  },
+      /* --- pixel bitmap for cmr325 char#21 \brevesym --- */
+      {  21,110998,                     /* character number, location */
+         31, 4,   23, 4,      /* topleft row,col, and botleft row,col */
+          { 14,    8, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x01\x60\x00\x38\x00\x0b\x40\x06\x18\x87\x83\x7f\x80"
+            "\x07" }  },
+      /* --- pixel bitmap for cmr325 char#22 (noname) --- */
+      {  22,111596,                     /* character number, location */
+         27, 3,   26, 3,      /* topleft row,col, and botleft row,col */
+          { 16,    1, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xff\xff" }  },
+      /* --- pixel bitmap for cmr325 char#23 (noname) --- */
+      {  23,112413,                     /* character number, location */
+         32,13,   24,13,      /* topleft row,col, and botleft row,col */
+          {  8,    8, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x3c\x42\x81\x81\x81\x81\x42\x3c" }  },
+      /* --- pixel bitmap for cmr325 char#24 (noname) --- */
+      {  24,113121,                     /* character number, location */
+         -1, 6,  -10, 6,      /* topleft row,col, and botleft row,col */
+          { 10,    9, 3,17, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x43\x74\x83\x10\xf3\x73\x18\x11\x94" }  },
+      /* --- pixel bitmap for cmr325 char#25 \ss --- */
+      {  25,86264,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 19,   31, 3,109, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x76\xc2\x43\x92\x63\x72\x83\x20\xf3\x33\x84\x10\x33"
+            "\x83\x53\x74\x53\x73\x63\x53\x56\x24\xa3\x53\x83\x63"
+            "\x73\x73\x30\xf1\x33\x83\x20\x33\x84\x43\x93\x10\xf5"
+            "\x33\x94\x33\x93\x43\x23\x34\x43\x23\x33\x53\x23\x23"
+            "\x36\x35\x53" }  },
+      /* --- pixel bitmap for cmr325 char#26 \ae --- */
+      {  26,87675,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 29,   19, 3,99, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x38\x85\x72\x63\x42\x52\x44\x73\x12\x72\x34\x84\x83"
+            "\x32\x94\x92\x10\xf2\xd3\xa3\x8e\x07\x45\x43\xe0\x24"
+            "\x63\xe0\x13\x83\xe4\x83\xd4\x94\xc4\x94\xb5\x95\xa1"
+            "\x13\x82\x22\x91\x33\x53\x43\x52\x67\x86\x43" }  },
+      /* --- pixel bitmap for cmr325 char#27 \oe --- */
+      {  27,88847,                      /* character number, location */
+         19, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 33,   19, 3,109, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x76\x96\xa2\x53\x53\x43\x63\x82\x32\x82\x43\xa2\x12"
+            "\x93\x33\xa5\x93\x23\xc4\xa3\x13\xc3\xb7\xc3\xb7\xce"
+            "\x03\x0f\x24\xc3\xe0\x13\xc3\xe0\x13\xb5\xe0\x13\xa5"
+            "\xc1\x23\x93\x13\xb1\x33\x82\x33\x91\x63\x43\x62\x62"
+            "\x96\xa6\x43" }  },
+      /* --- pixel bitmap for cmr325 char#28 (noname) --- */
+      {  28,89723,                      /* character number, location */
+         24, 2,   -4, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   28, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x00\x00\x01\x00\x02\x00\x08\x00\x10\x00\x40\x00\xbf"
+            "\x00\x87\x03\x06\x1c\x0c\xd8\x38\x20\x67\x40\xd8\x01"
+            "\xe1\x07\x82\x1f\x08\x7e\x10\xf8\x41\xe0\x87\x80\x1f"
+            "\x02\x6e\x04\x98\x1b\x70\x2c\xc0\xe0\x80\x01\x87\x03"
+            "\xf2\x03\x08\x00\x10\x00\x40\x00\x80\x00\x00" }  },
+      /* --- pixel bitmap for cmr325 char#29 \AE --- */
+      {  29,91607,                      /* character number, location */
+         31, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 39,   31, 3,219, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xbe\x0c\xe0\x31\x15\xb4\xe0\x31\x24\xd2\xe0\x21\x34"
+            "\xd2\xe0\x21\x34\xe1\xe0\x11\x44\xe2\x10\xf1\xd1\x44"
+            "\xe0\x11\x10\xf1\xc1\x54\xe0\x11\x10\xc1\x54\xe0\x30"
+            "\xf1\xb1\x64\x81\x80\xa2\x64\x81\xe0\x41\x74\x81\xe0"
+            "\x41\x74\x72\xe0\x3e\x08\xe0\x31\x84\x72\xe0\x31\x84"
+            "\x81\xe0\x21\x94\x81\xe0\x21\x94\x81\x71\x72\x94\x81"
+            "\x71\x71\xa4\xe0\x21\x71\xa4\xe0\x11\x10\xf1\x61\xb4"
+            "\xe0\x11\x10\x61\xb4\xe2\x61\xc4\xe2\x62\xb4\xd2\x55"
+            "\xa4\xb4\x2a\x5e\x08\x21" }  },
+      /* --- pixel bitmap for cmr325 char#30 \OE --- */
+      {  30,93439,                      /* character number, location */
+         32, 4,   -1, 4,      /* topleft row,col, and botleft row,col */
+          { 41,   33, 3,225, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xb7\xe0\xe0\x34\x5e\x08\x93\x85\xc4\x83\xa4\xe2\x73"
+            "\xb4\xe2\x64\xb4\xe0\x11\x54\xc4\xe0\x12\x35\xc4\xe0"
+            "\x21\x34\xd4\xe0\x21\x25\xd4\xe0\x21\x25\xd4\xa1\x51"
+            "\x24\xe0\x13\xa1\x75\xe0\x13\xa1\x75\xe0\x13\x92\x75"
+            "\xe0\x13\x83\x75\xe0\x1e\x75\xe0\x13\x83\x75\xe0\x13"
+            "\x92\x7f\x25\xe0\x13\xa1\x70\x15\xe3\xe0\x31\xf1\x15"
+            "\xd4\xe0\x31\x24\xd4\xe0\x21\x35\xc4\xe0\x21\x44\xc4"
+            "\xe0\x21\x54\xb4\xe0\x12\x64\xa4\xe0\x12\x73\xa4\xe2"
+            "\x93\x85\xc4\xa4\x5e\x08\xd7\xe0\x90" }  },
+      /* --- pixel bitmap for cmr325 char#31 (noname) --- */
+      {  31,94521,                      /* character number, location */
+         33, 3,   -2, 3,      /* topleft row,col, and botleft row,col */
+          { 29,   35, 3,187, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xb1\xe7\x62\xb4\x54\x31\xb3\x93\x11\xb2\xd3\xa2"
+            "\xe0\x12\x93\xe4\x73\xe2\x13\x53\xe0\x11\x33\x43\xe1"
+            "\x43\x34\xe1\x44\x24\xd1\x54\x23\xd1\x73\x14\xd1\x78"
+            "\xc1\x84\x0f\x14\xb1\x94\x04\xa1\xa4\x0f\x14\x91\xb4"
+            "\x04\x81\xc8\x71\xd4\x13\x71\xd3\x24\x51\xd4\x24\x41"
+            "\xe4\x33\x41\xe3\x43\x31\xe0\x13\x53\x12\xe3\x74\xe3"
+            "\x92\xe0\x12\xa3\xd2\xb1\x13\x93\xb1\x34\x54\xb2\x67"
+            "\xe1\xe0\xb4" }  },
+      /* --- pixel bitmap for cmr325 char#32 (noname) --- */
+      {  32,113629,                     /* character number, location */
+         17, 1,   13, 1,      /* topleft row,col, and botleft row,col */
+          { 10,    4, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x00\x83\x83\xc1\x01" }  },
+      /* --- pixel bitmap for cmr325 char#33 ! --- */
+      {  33,95280,                      /* character number, location */
+         32, 4,    0, 4,      /* topleft row,col, and botleft row,col */
+          {  5,   32, 3,31, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x13\x1f\x55\xf9\x13\x10\xf4\x21\x20\xf4\x50\x13\x1f"
+            "\x25\x13\x13" }  },
+      /* --- pixel bitmap for cmr325 char#34 " --- */
+      {  34,125008,                     /* character number, location */
+         31, 1,   17, 1,      /* topleft row,col, and botleft row,col */
+          { 15,   14, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x0e\x9c\x0f\xdf\x8f\xff\xc7\xef\xc2\x05\x01\x82\x00"
+            "\x41\x80\x10\x20\x08\x10\x02\x04\x01\x42\x80\x10\x20"
+            "\x00" }  },
+      /* --- pixel bitmap for cmr325 char#35 # --- */
+      {  35,96798,                      /* character number, location */
+         31, 2,   -9, 2,      /* topleft row,col, and botleft row,col */
+          { 33,   40, 3,143, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\xe0\x12\x92\x50\xe3\x83\x50\xf2\xe2\x92\x60\xd3"
+            "\x83\x60\xf3\xd2\x92\x70\xc3\x83\xe0\x52\x92\x8f\x1e"
+            "\x0e\x05\xb2\x92\xe0\x53\x83\x90\xf3\xa2\x92\xa0\x93"
+            "\x83\xe0\x52\x92\xbf\x1e\x0e\x05\x82\x92\xe0\x53\x83"
+            "\xc0\xf3\x72\x92\xd0\x63\x83\xd0\xf2\x62\x92\xe0\x53"
+            "\x83\xe0\xf2\x52\x92\xe0\x10" }  },
+      /* --- pixel bitmap for cmr325 char#36 $ --- */
+      {  36,80373,                      /* character number, location */
+         34, 2,   -2, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   36, 3,149, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\x91\x80\x67\x92\x31\x32\x61\x51\x51\x41\x61\x61"
+            "\x22\x61\x61\x21\x71\x73\x71\x53\x0f\x12\x71\x44\x03"
+            "\x61\x52\x13\x61\x94\x41\x97\x11\xaa\x9b\x9a\xa9\xb1"
+            "\x16\xa1\x34\x10\xf1\x91\x53\x12\x61\x62\x0f\x14\x51"
+            "\x62\x03\x61\x63\x81\x61\x21\x71\x52\x21\x71\x51\x42"
+            "\x51\x41\x72\x31\x22\xa6\x60\xf1\x91\x80" }  },
+      /* --- pixel bitmap for cmr325 char#37 % --- */
+      {  37,98115,                      /* character number, location */
+         34, 2,   -2, 2,      /* topleft row,col, and botleft row,col */
+          { 33,   36, 3,243, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x54\xe0\x42\x72\x41\xe0\x23\x62\x61\xe0\x12\x72\x72"
+            "\xb4\x63\x71\x12\x75\x72\x81\x37\x22\x73\x91\xa3\x73"
+            "\x91\x93\x83\x91\x92\x93\x91\x83\x93\x91\x73\xa3\x91"
+            "\x72\xb3\x91\x63\xc2\x81\x63\xd3\x71\x62\xe0\x12\x71"
+            "\x53\xe0\x12\x61\x53\xe0\x32\x41\x53\xe0\x64\x62\x84"
+            "\xe0\x43\x62\x41\xe0\x23\x62\x61\xe0\x12\x72\x71\xd3"
+            "\x62\x81\xc3\x72\x91\xb2\x73\x91\xa3\x73\x91\x93\x83"
+            "\x91\x92\x93\x91\x83\x93\x91\x73\xa3\x91\x72\xc2\x91"
+            "\x63\xc2\x81\x63\xe2\x71\x62\xe0\x12\x61\x63\xe0\x22"
+            "\x41\x72\xe0\x54\x40" }  },
+      /* --- pixel bitmap for cmr325 char#38 & --- */
+      {  38,81731,                      /* character number, location */
+         32, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 31,   33, 3,177, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x94\xe0\xc1\x41\xe0\xa2\x41\xe0\x92\x61\xe0\x20\xf3"
+            "\x53\x61\xe0\x20\xf1\x53\x51\xe0\x30\x53\x41\xe0\x93"
+            "\x31\xe0\xb3\x21\xe0\xb3\x11\xaa\x64\xe4\xa3\xe3\xb3"
+            "\xe2\xb5\xd1\xb1\x23\xc1\xb1\x34\xb1\xa2\x43\xa1\xa2"
+            "\x63\x91\x93\x64\x71\xa3\x73\x61\xa4\x83\x51\xa4\x93"
+            "\x31\xb4\x94\x11\xc4\xa4\xc1\x13\xb3\xc1\x14\xa4\xa1"
+            "\x33\x91\x24\x72\x43\x53\x53\x52\x76\xa6\x4e" }  },
+      /* --- pixel bitmap for cmr325 char#39 ' --- */
+      {  39,98891,                      /* character number, location */
+         31, 4,   17, 4,      /* topleft row,col, and botleft row,col */
+          {  6,   14, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xce\xf7\xff\x2e\x08\x82\x10\x84\x20\x84\x00" }  },
+      /* --- pixel bitmap for cmr325 char#40 ( --- */
+      {  40,99483,                      /* character number, location */
+         34, 5,  -12, 5,      /* topleft row,col, and botleft row,col */
+          { 10,   46, 3,86, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x91\x81\x81\x82\x72\x81\x82\x40\xf1\x32\x50\x23\x50"
+            "\xf1\x22\x60\x13\x60\xf3\x12\x7f\xb3\x70\xf3\x12\x70"
+            "\x13\x60\xf1\x22\x60\x23\x50\xf1\x32\x50\x42\x91\x92"
+            "\x92\x91\xa1\xa1" }  },
+      /* --- pixel bitmap for cmr325 char#41 ) --- */
+      {  41,100138,                     /* character number, location */
+         34, 2,  -12, 2,      /* topleft row,col, and botleft row,col */
+          { 10,   46, 3,87, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x01\xa1\xa1\x92\x92\x91\x92\x40\xf1\x52\x30\x53\x20"
+            "\xf1\x62\x20\x63\x10\xf3\x72\x10\xfb\x73\xf3\x72\x10"
+            "\x63\x10\xf1\x62\x20\x53\x20\xf1\x52\x30\x42\x81\x82"
+            "\x72\x81\x81\x81\x92" }  },
+      /* --- pixel bitmap for cmr325 char#42 * --- */
+      {  42,100817,                     /* character number, location */
+         34, 3,   15, 3,      /* topleft row,col, and botleft row,col */
+          { 16,   19, 3,59, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf3\x72\x72\x52\x55\x42\x43\x13\x32\x33\x43\x12\x13"
+            "\x86\xc2\xc6\x83\x12\x13\x43\x32\x33\x13\x42\x45\x52"
+            "\x52\xf3\x72\x72" }  },
+      /* --- pixel bitmap for cmr325 char#43 + --- */
+      {  43,101543,                     /* character number, location */
+         26, 3,   -4, 3,      /* topleft row,col, and botleft row,col */
+          { 29,   30, 3,17, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xfd\xe2\xdf\x1e\x0e\x01\xfd\xe2\xd2" }  },
+      /* --- pixel bitmap for cmr325 char#44 (noname) --- */
+      {  44,102158,                     /* character number, location */
+          5, 4,   -9, 4,      /* topleft row,col, and botleft row,col */
+          {  5,   14, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xee\xfd\xef\x21\x84\x08\x21\x42\x04" }  },
+      /* --- pixel bitmap for cmr325 char#45 (noname) --- */
+      {  45,125547,                     /* character number, location */
+         11, 1,    9, 1,      /* topleft row,col, and botleft row,col */
+          { 12,    2, 3, 4, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf1\x0c" }  },
+      /* --- pixel bitmap for cmr325 char#46 (noname) --- */
+      {  46,102639,                     /* character number, location */
+          5, 4,    0, 4,      /* topleft row,col, and botleft row,col */
+          {  5,    5, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xee\xff\xef\x00" }  },
+      /* --- pixel bitmap for cmr325 char#47 / --- */
+      {  47,103151,                     /* character number, location */
+         34, 2,  -11, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   45, 3,159, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xe0\x22\xe0\x13\xf1\xe0\x12\x10\xe3\xe0\x12\xe0"
+            "\x13\x20\xf1\xd2\x30\xc3\x30\xf1\xc2\x40\xb3\xe0\x12"
+            "\xe0\x13\x50\xf1\xa2\x60\x93\x60\xf1\x92\x70\x83\xe0"
+            "\x12\xe0\x13\x80\xf1\x72\x90\x63\x90\xf1\x62\xa0\x53"
+            "\xe0\x12\xe0\x13\xb0\xf1\x42\xc0\x33\xc0\xf1\x32\xd0"
+            "\x23\xe0\x12\xe0\x13\xe0\xf1\x12\xe0\x13\xe0\x1f\x12"
+            "\xe0\x21" }  },
+      /* --- pixel bitmap for cmr325 char#48 0 --- */
+      {  48,70438,                      /* character number, location */
+         30, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   31, 3,63, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x66\xa3\x43\x73\x63\x62\x82\x53\x83\x20\xf3\x13\xa3"
+            "\x1f\xc4\xa4\xf2\x13\xa3\x10\x14\x84\x33\x83\x52\x82"
+            "\x63\x63\x73\x43\xa6\x61" }  },
+      /* --- pixel bitmap for cmr325 char#49 1 --- */
+      {  49,71280,                      /* character number, location */
+         30, 4,    0, 4,      /* topleft row,col, and botleft row,col */
+          { 15,   30, 3,28, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x81\xc3\xa5\x64\x23\x60\xfe\x63\x60\xf8\x63\x60\x55"
+            "\x6e" }  },
+      /* --- pixel bitmap for cmr325 char#50 2 --- */
+      {  50,72283,                      /* character number, location */
+         30, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   30, 3,101, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x66\xa2\x53\x71\x83\x51\xa3\x31\xb4\x11\xc4\x14\x95"
+            "\x0f\x25\x94\x21\xa5\xd5\xf1\xd4\x10\xc4\xe3\xe3\xe3"
+            "\xe3\xe0\x12\xe0\x12\xe0\x12\xe0\x12\xe0\x12\xa1\x42"
+            "\xb1\x32\xc1\x31\xc1\x3e\x01\x2e\x02\x1e\x03\x12" }  },
+      /* --- pixel bitmap for cmr325 char#51 3 --- */
+      {  51,73361,                      /* character number, location */
+         30, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   31, 3,105, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x66\xa2\x53\x71\x83\x51\x94\x34\x75\x10\xf1\x14\x84"
+            "\x10\x23\x75\xd5\x10\xf1\xc4\x20\xb4\xe3\xd3\xb7\xe0"
+            "\x24\xe0\x23\xe0\x14\x20\xf1\xd4\x10\xd5\x21\xa5\x0f"
+            "\x25\x85\x04\x94\x21\xb4\x21\xa4\x41\x93\x62\x54\x97"
+            "\x62" }  },
+      /* --- pixel bitmap for cmr325 char#52 4 --- */
+      {  52,74333,                      /* character number, location */
+         30, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 20,   30, 3,101, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xd2\x50\xf1\xc3\x50\xb4\x50\xf1\xa1\x13\x50\x91"
+            "\x23\x50\xf1\x81\x33\x50\x71\x43\x50\xf1\x61\x53\x50"
+            "\x51\x63\x50\xf1\x41\x73\x50\x31\x83\x50\xf1\x21\x93"
+            "\x50\x11\xa3\x52\xa3\x5e\x06\xf6\xc3\x50\x8b\x14" }  },
+      /* --- pixel bitmap for cmr325 char#53 5 --- */
+      {  53,75415,                      /* character number, location */
+         30, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   31, 3,91, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x32\x92\x5c\x6b\x7a\x88\x70\xf5\x31\xe0\x31\x35\x91"
+            "\x12\x43\x72\x73\x61\x93\x51\x94\x10\xf1\xe3\x10\xf2"
+            "\xe4\x13\xa4\x0f\x14\xa4\x03\xb3\x21\xc3\x21\xb3\x41"
+            "\xa2\x61\x82\x81\x53\xa6\x76" }  },
+      /* --- pixel bitmap for cmr325 char#54 6 --- */
+      {  54,76355,                      /* character number, location */
+         30, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   31, 3,101, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x95\xb2\x51\x83\x71\x63\x73\x52\x74\x42\x84\x33\x92"
+            "\x43\xe4\xd0\xf1\x13\xe4\x35\x64\x21\x43\x44\x11\x72"
+            "\x35\x83\x2f\x15\x93\x1f\x44\xa4\xf1\x13\xa4\x13\xa3"
+            "\x33\x93\x33\x83\x52\x83\x62\x63\x82\x43\xb5\x64" }  },
+      /* --- pixel bitmap for cmr325 char#55 7 --- */
+      {  55,77319,                      /* character number, location */
+         30, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 19,   31, 3,83, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x11\xe0\x4e\x04\xf1\x1e\x03\x10\x11\xe1\x2f\x11\xe1"
+            "\x31\xd1\x40\xf1\xd1\x50\xc1\x60\xf1\xb1\x70\xf1\xa1"
+            "\x80\xf1\x92\x80\x83\xe0\x22\x90\xf3\x73\x90\xf6\x64"
+            "\x90\x72\xa3" }  },
+      /* --- pixel bitmap for cmr325 char#56 8 --- */
+      {  56,78269,                      /* character number, location */
+         30, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   31, 3,105, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x66\xa2\x62\x71\x92\x52\xa2\x41\xc2\x10\xf2\x12\xc2"
+            "\x10\x13\xb2\x24\x92\x45\x72\x46\x52\x67\x21\x98\xc7"
+            "\xa9\x82\x36\x61\x66\x42\x85\x22\xa4\x22\xc5\xd3\x0f"
+            "\x22\xe2\x02\xe1\x22\xc2\x31\xc1\x51\xa1\x72\x62\xa6"
+            "\x62" }  },
+      /* --- pixel bitmap for cmr325 char#57 9 --- */
+      {  57,79229,                      /* character number, location */
+         30, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   31, 3,99, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x66\xa3\x42\x83\x62\x63\x82\x53\x83\x33\x93\x33\xa3"
+            "\x1f\x14\xa3\x1f\x44\xa4\xf1\x13\x95\x23\x85\x32\x71"
+            "\x14\x43\x41\x24\x65\x34\xf2\xe3\x10\xd3\x42\x93\x34"
+            "\x82\x44\x73\x43\x82\x61\x82\x81\x53\xa6\x82" }  },
+      /* --- pixel bitmap for cmr325 char#58 : --- */
+      {  58,103787,                     /* character number, location */
+         19, 4,    0, 4,      /* topleft row,col, and botleft row,col */
+          {  5,   19, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xee\xff\xef\x00\x00\x00\x00\x00\x80\xfb\xff\x3b" }  },
+      /* --- pixel bitmap for cmr325 char#59 ; --- */
+      {  59,104462,                     /* character number, location */
+         19, 4,   -9, 4,      /* topleft row,col, and botleft row,col */
+          {  5,   28, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xee\xff\xef\x00\x00\x00\x00\x00\x80\x7b\xff\x7b\x08"
+            "\x21\x42\x88\x10\x01" }  },
+      /* --- pixel bitmap for cmr325 char#60 (noname) --- */
+      {  60,95922,                      /* character number, location */
+         22, 4,  -10, 4,      /* topleft row,col, and botleft row,col */
+          {  5,   32, 3,31, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x13\x1f\x25\x13\x10\xf4\x50\xf4\x21\x20\xf9\x13\x1f"
+            "\x55\x13\x13" }  },
+      /* --- pixel bitmap for cmr325 char#61 = --- */
+      {  61,105160,                     /* character number, location */
+         17, 3,    5, 3,      /* topleft row,col, and botleft row,col */
+          { 29,   12, 2,10, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xff\x01\x00\x1d\xff\x07\x1d\xff\x01\x1d" }  },
+      /* --- pixel bitmap for cmr325 char#62 (noname) --- */
+      {  62,83762,                      /* character number, location */
+         22, 2,   -9, 2,      /* topleft row,col, and botleft row,col */
+          { 17,   31, 3,71, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x63\x80\xf2\x55\x70\x63\x80\xf4\xe0\x30\xf4\x71\x90"
+            "\x62\x90\xf1\x61\xa0\x52\xe2\xe3\xd3\xd4\xc4\xa2\x1f"
+            "\x24\x94\x04\xb1\x23\xa2\x33\x72\x78\x54" }  },
+      /* --- pixel bitmap for cmr325 char#63 ? --- */
+      {  63,82788,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 17,   31, 3,71, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x48\x72\x73\x41\xa4\x21\xb3\x1f\x24\x94\x12\xa4\xc4"
+            "\xc4\xc3\xd3\xe2\xe2\xe0\x11\xe0\x12\x80\xf4\x71\x90"
+            "\xf4\xe0\x30\x63\x80\xf2\x55\x70\x63\x84" }  },
+      /* --- pixel bitmap for cmr325 char#64 @ --- */
+      {  64,106334,                     /* character number, location */
+         31, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 29,   31, 3,183, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xb7\xe0\x53\x73\xe0\x11\xd1\xd1\xe0\x11\xa2\xe0\x32"
+            "\x81\xe0\x51\x71\x85\x81\x51\x72\x52\x71\x41\x53\x81"
+            "\x61\x31\x53\xa1\x61\x21\x52\xc3\x31\x21\x43\xc3\x31"
+            "\x11\x52\xd3\x41\x0f\x41\x43\xd3\x41\x01\x52\xd3\x41"
+            "\x11\x43\xc3\x41\x11\x52\xc3\x41\x11\x53\xa4\x41\x21"
+            "\x53\x81\x13\x31\x31\x72\x52\x32\x31\x41\x85\x64\x61"
+            "\xe0\xe2\xe0\xe0\x11\xe0\xe0\x11\xe0\x34\x83\xa6\xdb"
+            "\x71" }  },
+      /* --- pixel bitmap for cmr325 char#65 A --- */
+      {  65, 1066,                      /* character number, location */
+         32, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 32,   32, 3,128, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\xe0\x12\xe0\x10\xf1\xe4\xe0\xd6\xd0\xf1\xd1\x14"
+            "\xd0\xc1\x25\xc0\xf1\xc1\x34\xc0\xf2\xb1\x54\xb0\xf1"
+            "\xa1\x74\xa0\x92\x75\x90\xf1\x91\x94\x90\x81\xa5\xe0"
+            "\x21\xb4\xe0\x2e\x02\x80\xf2\x71\xd4\x70\xf2\x61\xe0"
+            "\x14\x60\x51\xe0\x34\x93\xe0\x24\x85\xe6\x4a\x9d" }  },
+      /* --- pixel bitmap for cmr325 char#66 B --- */
+      {  66, 2494,                      /* character number, location */
+         31, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 29,   31, 3,107, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0e\x07\xd4\xa4\xb4\xb4\xa4\xc4\x94\xd4\x30\xf4\x54"
+            "\xd5\x20\x54\xd4\x84\xc5\x84\xb5\x94\xa5\xae\x03\xc4"
+            "\xa5\xa4\xc5\x84\xd5\x20\xf1\x54\xe5\x10\xf4\x54\xe0"
+            "\x15\x54\xe0\x14\x64\xe5\x64\xd5\x74\xc5\x84\xb4\x5e"
+            "\x08\x70" }  },
+      /* --- pixel bitmap for cmr325 char#67 C --- */
+      {  67, 3483,                      /* character number, location */
+         32, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 28,   33, 3,139, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xc7\x81\xa3\x62\x52\x83\xa2\x23\x64\xd1\x13\x54\xe0"
+            "\x14\x44\xe0\x33\x34\xe0\x43\x34\xe0\x52\xf1\x24\xe0"
+            "\x62\x15\xe0\x71\x14\xe0\x86\xe0\x81\x0f\x75\xe0\x90"
+            "\x14\xe0\x81\x15\xe0\x71\xf1\x24\xe0\x71\xf1\x34\xe0"
+            "\x51\x10\x44\xe0\x31\x74\xe0\x11\x94\xd1\xc3\xb1\xe0"
+            "\x13\x72\xe0\x48\x80" }  },
+      /* --- pixel bitmap for cmr325 char#68 D --- */
+      {  68, 4699,                      /* character number, location */
+         31, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 31,   31, 3,119, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0e\x07\xe0\x14\xa4\xd4\xc4\xb4\xd4\xa4\xe4\x94\xe0"
+            "\x14\x84\xe0\x23\x30\xf1\x54\xe0\x24\x20\xf2\x54\xe0"
+            "\x34\x10\xf7\x54\xe0\x35\xf1\x54\xe0\x34\x10\x54\xe0"
+            "\x25\x10\xf1\x54\xe0\x24\x20\x54\xe0\x14\x84\xe4\x94"
+            "\xd4\xa4\xc4\xb4\xa4\x8e\x07\xa1" }  },
+      /* --- pixel bitmap for cmr325 char#69 E --- */
+      {  69, 6196,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 28,   31, 3,129, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0e\x0c\x65\xc5\x74\xe3\x74\xe0\x12\x74\xe0\x21\x74"
+            "\xe0\x22\x10\xf2\x54\xe0\x31\x10\x54\x91\x71\x10\xf1"
+            "\x54\x91\x90\x54\x82\xe4\x73\xee\xe4\x73\xe4\x82\x90"
+            "\xf2\x54\x91\x90\xf2\x54\xe0\x41\xf2\x54\xe0\x31\x10"
+            "\x54\xe0\x22\x64\xe0\x13\x64\xe3\x65\xc5\x2e\x0c\x20" }  },
+      /* --- pixel bitmap for cmr325 char#70 F --- */
+      {  70, 7551,                      /* character number, location */
+         31, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 26,   31, 3,91, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x0e\x0b\x64\xc4\x10\xf1\x54\xe2\x10\x54\xe0\x11\x64"
+            "\xe0\x12\xf3\x54\xe0\x21\xf2\x54\x91\x70\x54\x82\xc4"
+            "\x73\xce\xc4\x73\xc4\x82\x70\xf2\x54\x91\x70\xf7\x54"
+            "\xe0\x30\x55\xe0\x2e\x01\xb0" }  },
+      /* --- pixel bitmap for cmr325 char#71 G --- */
+      {  71, 8768,                      /* character number, location */
+         32, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 30,   33, 3,161, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xc7\x71\xc4\x62\x42\xb3\xa1\x23\x93\xd1\x13\x83\xe0"
+            "\x14\x74\xe0\x23\x64\xe0\x33\x64\xe0\x42\x30\xf1\x24"
+            "\xe0\x52\x30\x15\xe0\x61\x44\xe0\x71\x35\xe0\x71\x3f"
+            "\x55\xe0\xb5\xce\x04\xe0\x35\x44\xe0\x44\x45\xe0\x34"
+            "\x30\xf1\x24\xe0\x34\x30\xf1\x34\xe0\x24\x30\x44\xe0"
+            "\x14\x83\xe0\x14\x93\xd1\x13\xb3\xa1\x32\xc4\x62\x51"
+            "\xe0\x17\xb0" }  },
+      /* --- pixel bitmap for cmr325 char#72 H --- */
+      {  72,10049,                      /* character number, location */
+         31, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 32,   31, 3,28, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x0e\x4e\xfc\x54\xe4\x50\x5e\x08\x50\xfe\x54\xe4\x5e"
+            "\x4e" }  },
+      /* --- pixel bitmap for cmr325 char#73 I --- */
+      {  73,10824,                      /* character number, location */
+         31, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 14,   31, 3,14, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x0e\xfe\x54\x50\xfd\x54\x5e" }  },
+      /* --- pixel bitmap for cmr325 char#74 J --- */
+      {  74,11680,                      /* character number, location */
+         31, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   32, 3,47, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x5d\xa5\x30\xfe\xb4\x30\xf5\xb4\x30\x21\x84\x3f\x25"
+            "\x64\x34\x73\x51\x84\x52\x73\x81\x53\xa6\x80" }  },
+      /* --- pixel bitmap for cmr325 char#75 K --- */
+      {  75,12937,                      /* character number, location */
+         31, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 32,   31, 3,166, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0e\x99\x54\xe0\x15\x84\xe0\x22\xa4\xe0\x21\xb4\xe0"
+            "\x11\xc4\xe1\xd4\xd1\xe4\xc1\xe0\x14\xa2\xe0\x24\x91"
+            "\xe0\x44\x81\xe0\x54\x71\xe0\x64\x62\xe0\x64\x54\xe0"
+            "\x54\x45\xe0\x54\x31\x24\xe0\x44\x21\x44\xe0\x34\x11"
+            "\x54\xe0\x35\x74\xb0\xf1\x54\x94\xa0\x54\xa4\x90\xf1"
+            "\x54\xb4\x80\x54\xc4\x70\xf1\x54\xd4\x60\x54\xe4\xa4"
+            "\xe5\x94\xe6\x3e\x6c" }  },
+      /* --- pixel bitmap for cmr325 char#76 L --- */
+      {  76,13992,                      /* character number, location */
+         31, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 25,   31, 3,67, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x0e\x01\xe0\x15\xe0\x10\xfe\x54\xe0\x20\xf2\x54\xe0"
+            "\x20\xf3\x54\xe0\x11\x54\xe2\x54\xe1\x10\xf1\x54\xd2"
+            "\x10\x54\xc3\x64\xa5\x1e\x0a\x14" }  },
+      /* --- pixel bitmap for cmr325 char#77 M --- */
+      {  77,15374,                      /* character number, location */
+         31, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 39,   31, 3,156, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0a\xe0\x5a\xf1\x55\xe0\x55\x50\xf1\x51\x14\xe0\x31"
+            "\x14\x50\xf2\x51\x24\xe0\x11\x24\x50\xf1\x51\x34\xd1"
+            "\x34\x50\xf2\x51\x44\xb1\x44\x50\xf1\x51\x54\x91\x54"
+            "\x50\xf2\x51\x64\x71\x64\x50\xf2\x51\x74\x51\x74\x50"
+            "\xf1\x51\x84\x31\x84\x50\xf2\x51\x94\x11\x94\x50\xf1"
+            "\x51\xa4\xa4\x50\x51\xb2\xb4\x85\x92\xb4\x5b\x62\x6e" }  },
+      /* --- pixel bitmap for cmr325 char#78 N --- */
+      {  78,16670,                      /* character number, location */
+         31, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 32,   31, 3,187, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x09\xcb\x55\xe5\x86\xe0\x11\xa1\x14\xe0\x11\xa1\x24"
+            "\xe1\xa1\x25\xd1\xa1\x34\xd1\xa1\x44\xc1\xa1\x54\xb1"
+            "\xa1\x55\xa1\xa1\x64\xa1\xa1\x74\x91\xa1\x75\x81\xa1"
+            "\x84\x81\xa1\x94\x71\xa1\x95\x61\xa1\xa4\x61\xa1\xb4"
+            "\x51\xa1\xc4\x41\xa1\xc5\x31\xa1\xd4\x31\xa1\xe4\x21"
+            "\xa1\xe5\x11\xa1\xe0\x14\x11\x50\xf1\x51\xe0\x25\x50"
+            "\x51\xe0\x34\xa1\xe0\x43\xa1\xe0\x52\x85\xe0\x32\x5b"
+            "\xe0\x11\x50" }  },
+      /* --- pixel bitmap for cmr325 char#79 O --- */
+      {  79,17623,                      /* character number, location */
+         32, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 29,   33, 3,133, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xb7\xe0\x54\x54\xe0\x13\x93\xd3\xb3\xb3\xd3\x93\xe0"
+            "\x13\x74\xe0\x14\x30\xf1\x24\xe0\x34\x20\x15\xe0\x35"
+            "\x10\xf1\x14\xe0\x54\x1f\x85\xe0\x55\x14\xe0\x54\x10"
+            "\xf1\x15\xe0\x35\x10\x24\xe0\x34\x45\xe0\x15\x54\xe0"
+            "\x14\x74\xd4\x93\xd3\xb3\xb3\xd3\x93\xe0\x14\x54\xe0"
+            "\x57\xb5" }  },
+      /* --- pixel bitmap for cmr325 char#80 P --- */
+      {  80,18842,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 27,   31, 3,73, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x0e\x06\xb5\x94\xa4\xb4\x84\xc4\x20\xf1\x54\xd4\x10"
+            "\xf3\x54\xd5\xf1\x54\xd4\x10\x54\xc4\x74\xb4\x84\x94"
+            "\xae\x01\x70\xfc\x54\xe0\x40\x46\xe0\x3e\xd0" }  },
+      /* --- pixel bitmap for cmr325 char#81 Q --- */
+      {  81,19907,                      /* character number, location */
+         32, 3,   -9, 3,      /* topleft row,col, and botleft row,col */
+          { 29,   41, 3,191, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xb7\xe0\x54\x54\xe0\x13\x93\xd3\xb3\xb3\xd3\x93\xe0"
+            "\x13\x74\xe0\x14\x30\xf1\x24\xe0\x34\x20\xf1\x15\xe0"
+            "\x35\x10\x14\xe0\x54\x1f\x85\xe0\x55\x14\xe0\x54\x10"
+            "\xf1\x15\xe0\x35\x10\x24\xe0\x34\x44\x73\x74\x54\x51"
+            "\x41\x44\x73\x41\x51\x43\x93\x31\x61\x23\xb3\x21\x61"
+            "\x13\xd3\x11\x64\xe0\x15\x44\x71\xb7\x11\x81\xe0\x52"
+            "\x71\xe0\x52\x62\xe0\x53\x43\xf1\xe0\x59\x10\xe0\x68"
+            "\xe0\x86\xe0\xa4\x30" }  },
+      /* --- pixel bitmap for cmr325 char#82 R --- */
+      {  82,21344,                      /* character number, location */
+         31, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 32,   32, 3,139, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0e\x05\xe0\x44\x84\xe0\x24\xa4\xe4\xb4\x80\xf1\x54"
+            "\xc4\x70\xf3\x54\xc5\x60\xf1\x54\xc4\x70\x54\xb4\xd4"
+            "\xa4\xe4\x84\xe0\x2e\xe0\x44\x82\xe0\x44\x93\xe0\x24"
+            "\x94\xe0\x14\xa3\xa0\xf2\x54\xa4\x90\xf2\x54\xa5\x80"
+            "\x54\xa5\x71\x54\xa6\x61\x54\xb5\x61\x54\xc4\x51\x1e"
+            "\x84\x31\xe0\xc5\x30" }  },
+      /* --- pixel bitmap for cmr325 char#83 S --- */
+      {  83,22463,                      /* character number, location */
+         32, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 20,   33, 3,113, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x66\x51\x62\x62\x22\x52\x94\x42\xb3\x32\xc3\x32\xd2"
+            "\x23\xd2\x2f\x23\xe1\x2f\x14\xe0\x20\x15\xe0\x18\xdb"
+            "\xac\x9d\xab\xd7\xe0\x25\xe0\x24\x10\xf1\xe0\x24\x0f"
+            "\x31\xe0\x23\x02\xe0\x12\x12\xe3\x13\xd2\x25\xa2\x32"
+            "\x32\x63\x41\x67\x66" }  },
+      /* --- pixel bitmap for cmr325 char#84 T --- */
+      {  84,23605,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 28,   31, 3,61, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x1e\x0c\x24\x74\x74\x22\x94\x92\x10\xf1\x11\xa4\xa1"
+            "\x12\xa4\xa2\x0f\x31\xb4\xb1\xfe\xc4\xc0\xf3\xc4\xc0"
+            "\xb6\xe0\x3e\x02\x60" }  },
+      /* --- pixel bitmap for cmr325 char#85 U --- */
+      {  85,24679,                      /* character number, location */
+         31, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 32,   32, 3,77, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x0e\x7b\x54\xe0\x15\x30\xfe\x54\xe0\x31\x50\xf6\x54"
+            "\xe0\x31\x50\x63\xe0\x21\xc4\xe0\x11\xd3\xe1\xe0\x13"
+            "\xd1\xe0\x13\xc1\xe0\x42\xa1\xe0\x63\x62\xe0\x97\xcf" }  },
+      /* --- pixel bitmap for cmr325 char#86 V --- */
+      {  86,25775,                      /* character number, location */
+         31, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 32,   32, 3,133, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0c\xb9\x36\xe0\x25\x64\xe0\x42\x85\xe0\x32\x40\xf1"
+            "\x54\xe0\x31\x50\xf2\x64\xe0\x11\x60\xf1\x74\xd1\x70"
+            "\x75\xb2\x70\xf1\x84\xb1\x80\xf1\x94\x91\x90\x95\x72"
+            "\x90\xf1\xa4\x71\xa0\xf1\xb4\x51\xb0\xb5\x41\xb0\xf1"
+            "\xc4\x31\xc0\xf2\xd4\x11\xd0\xf2\xe4\xe0\xf1\xe0\x12"
+            "\xe0\x11" }  },
+      /* --- pixel bitmap for cmr325 char#87 W --- */
+      {  87,27304,                      /* character number, location */
+         31, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 44,   32, 3,225, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0c\x5c\x69\x35\xc6\xb5\x64\xd4\xe2\x74\xd4\xe1\x84"
+            "\xd5\xd1\x85\xc5\xc2\x94\xc5\xc1\xa4\xb1\x24\xb1\xa5"
+            "\xa1\x24\xb1\xb4\xa1\x24\xa1\xc4\x92\x25\x91\xc4\x91"
+            "\x44\x91\x60\xf1\x74\x81\x44\x81\x70\x74\x71\x64\x71"
+            "\x70\xf1\x84\x61\x64\x61\x80\x84\x51\x84\x51\x80\xf1"
+            "\x94\x41\x84\x41\x90\x94\x31\xa4\x31\xe0\x45\x21\xa4"
+            "\x22\xe0\x54\x21\xa4\x21\xe0\x64\x11\xc4\x11\xe0\x66"
+            "\xc4\x11\xa0\xf1\xb5\xc5\xb0\xb4\xe4\xb0\xf1\xc3\xe3"
+            "\xc0\xc2\xe0\x22\xe0\xb1\xe0\x21\xd0" }  },
+      /* --- pixel bitmap for cmr325 char#88 X --- */
+      {  88,28573,                      /* character number, location */
+         31, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 32,   31, 3,160, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x1c\x7a\x67\xb5\xa5\xd2\xd5\xc1\xe0\x14\xb1\xe0\x25"
+            "\x92\xe0\x35\x81\xe0\x54\x71\xe0\x65\x52\xe0\x75\x41"
+            "\xe0\x94\x31\xe0\xa5\x11\xe0\xc6\xe0\xd4\xe0\xe5\xe0"
+            "\xf1\xe5\xd0\xd1\x15\xe0\xa2\x25\xe0\x91\x44\xe0\x81"
+            "\x55\xe0\x62\x65\xe0\x51\x84\xe0\x41\x95\xe0\x21\xb5"
+            "\xe0\x11\xc4\xe1\xd5\xc1\xe0\x15\xa3\xe0\x14\x86\xd6"
+            "\x4a\xac" }  },
+      /* --- pixel bitmap for cmr325 char#89 Y --- */
+      {  89,29815,                      /* character number, location */
+         31, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 32,   31, 3,111, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0c\xc8\x36\xe0\x25\x65\xe0\x32\x94\xe0\x31\xa5\xe0"
+            "\x12\xb4\xe0\x11\xd4\xd1\xe5\xc1\xe0\x14\xb1\xe0\x25"
+            "\x92\xe0\x35\x81\xe0\x54\x71\xe0\x65\x61\xe0\x74\x51"
+            "\xe0\x85\x31\xe0\xa5\x21\xe0\xb4\x11\xe0\xc6\xd0\xfb"
+            "\xe4\xe0\x9d\xa5" }  },
+      /* --- pixel bitmap for cmr325 char#90 Z --- */
+      {  90,30904,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 23,   31, 3,123, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x1e\x08\x16\xb4\x24\xd4\x23\xd4\x32\xd5\x32\xd4\x41"
+            "\xd4\x51\xc5\x51\xc4\x61\xb4\xe0\x54\xe0\x44\x70\xf1"
+            "\xb4\x80\xa4\xe0\x45\xe0\x44\xe0\x44\xe0\x45\xe0\x44"
+            "\xc0\xf1\x64\xc1\x54\xd1\x45\xd1\x44\xd2\x34\xe1\x35"
+            "\xe1\x34\xe2\x24\xe3\x24\xc5\x1e\x08\x15" }  },
+      /* --- pixel bitmap for cmr325 char#91 [ --- */
+      {  91,107171,                     /* character number, location */
+         34, 4,  -11, 4,      /* topleft row,col, and botleft row,col */
+          {  8,   45, 3,20, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf1\x08\x0f\xe2\x6f\xe2\x6f\xa2\x6f\x18" }  },
+      /* --- pixel bitmap for cmr325 char#92 (noname) --- */
+      {  92,126416,                     /* character number, location */
+         31, 6,   17, 6,      /* topleft row,col, and botleft row,col */
+          { 15,   14, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x10\x20\x04\x08\x01\x82\x00\x21\x40\x10\x20\x04\x08"
+            "\x02\x04\x01\x82\x0e\xdd\x8f\xff\xc7\xef\xc3\xe7\xc0"
+            "\x01" }  },
+      /* --- pixel bitmap for cmr325 char#93 ] --- */
+      {  93,107909,                     /* character number, location */
+         34, 0,  -11, 0,      /* topleft row,col, and botleft row,col */
+          {  8,   45, 3,20, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf1\x08\xfe\x62\xfe\x62\xfa\x62\x0f\x18" }  },
+      /* --- pixel bitmap for cmr325 char#94 \^ --- */
+      {  94,114258,                     /* character number, location */
+         31, 5,   24, 5,      /* topleft row,col, and botleft row,col */
+          { 12,    7, 3,20, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x52\x94\x76\x53\x23\x32\x62\x12\x83\xa1" }  },
+      /* --- pixel bitmap for cmr325 char#95 (noname) --- */
+      {  95,114737,                     /* character number, location */
+         31, 3,   26, 3,      /* topleft row,col, and botleft row,col */
+          {  6,    5, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x8c\xf7\x7b\x0c" }  },
+      /* --- pixel bitmap for cmr325 char#96 (noname) --- */
+      {  96,108567,                     /* character number, location */
+         31, 3,   17, 3,      /* topleft row,col, and botleft row,col */
+          {  6,   14, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x10\x42\x10\x82\x10\x04\x41\xf7\xff\x3e\x07" }  },
+      /* --- pixel bitmap for cmr325 char#97 a --- */
+      {  97,32096,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 20,   19, 3,77, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x38\xb2\x63\x84\x63\x74\x72\x82\x83\x50\xf1\xc3\x50"
+            "\x87\xa5\x23\x84\x53\x73\x73\x64\x73\x5f\x24\x83\x41"
+            "\x04\x74\x41\x14\x64\x41\x23\x42\x23\x21\x55\x54\x24" }  },
+      /* --- pixel bitmap for cmr325 char#98 b --- */
+      {  98,33144,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 21,   31, 3,81, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x06\xe0\x10\xfa\x33\xe0\x10\x33\x36\x93\x12\x53\x74"
+            "\x83\x63\xa3\x53\xa4\x43\xb3\x10\xf5\x33\xb4\xf1\x33"
+            "\xb3\x10\x33\xa3\x54\x93\x52\x11\x83\x62\x22\x52\x81"
+            "\x55\x71" }  },
+      /* --- pixel bitmap for cmr325 char#99 c --- */
+      {  99,33975,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 17,   19, 3,47, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x68\x73\x62\x53\x64\x33\x74\x24\x82\x33\xdf\x64\xd0"
+            "\x13\xe4\xb1\x23\xb1\x33\x91\x53\x62\x87\x44" }  },
+      /* --- pixel bitmap for cmr325 char#100 d --- */
+      { 100,34996,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 22,   31, 3,76, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xb7\x40\xfa\xe0\x13\x40\x75\x33\x92\x52\x13\x73\x84"
+            "\x40\xf1\x23\xa3\x40\xf1\x13\xb3\x4f\x54\xb3\x40\x13"
+            "\xb3\x54\xa3\x63\x94\x73\x75\x83\x51\x23\xa6\x37" }  },
+      /* --- pixel bitmap for cmr325 char#101 e --- */
+      { 101,35810,                      /* character number, location */
+         19, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 18,   19, 3,61, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x76\xa2\x53\x63\x73\x20\xf1\x23\x93\x10\x13\xa4\x13"
+            "\xb7\xbe\x07\x0f\x24\xe0\xf1\x13\xe0\xf1\x23\xc1\x42"
+            "\xa1\x63\x62\x97\x44" }  },
+      /* --- pixel bitmap for cmr325 char#102 f --- */
+      { 102,36689,                      /* character number, location */
+         31, 0,    0, 0,      /* topleft row,col, and botleft row,col */
+          { 17,   31, 3,43, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xa5\xa3\x32\x82\x44\x63\x44\x53\x62\x10\xf6\x53\x9d"
+            "\x40\xfe\x53\x90\xf1\x53\x90\x1b\x50" }  },
+      /* --- pixel bitmap for cmr325 char#103 g --- */
+      { 103,37960,                      /* character number, location */
+         20, 1,  -10, 1,      /* topleft row,col, and botleft row,col */
+          { 20,   30, 3,109, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x23\x75\x32\x22\x43\x34\x42\x33\x53\x41\x33\x73"
+            "\x50\xf3\x14\x74\x40\x23\x73\x83\x53\x94\x33\x92\x25"
+            "\x90\xf1\x21\xe0\x30\xf1\x22\xe0\x20\x2d\x8e\x6e\x01"
+            "\x42\xb4\x22\xe3\x0f\x32\xe0\x22\x12\xe2\x32\xc2\x53"
+            "\x83\x98\x62" }  },
+      /* --- pixel bitmap for cmr325 char#104 h --- */
+      { 104,38993,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 22,   31, 3,50, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x06\xe0\x20\xfa\x33\xe0\x20\x33\x45\xa3\x22\x42\x93"
+            "\x11\x72\x50\xf1\x34\x83\x40\xfc\x33\x93\x4a\x2a" }  },
+      /* --- pixel bitmap for cmr325 char#105 i --- */
+      { 105,39788,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          {  9,   31, 3,32, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x23\x40\xf2\x15\x30\x23\x40\xf6\x96\x30\xfe\x33\x30"
+            "\xf1\x33\x39" }  },
+      /* --- pixel bitmap for cmr325 char#106 j --- */
+      { 106,40606,                      /* character number, location */
+         31,-3,   -9,-3,      /* topleft row,col, and botleft row,col */
+          { 12,   40, 3,45, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x83\x10\xf2\x75\x83\x10\xf6\xc0\x57\x84\xfe\x93\xf5"
+            "\x93\x12\x67\x52\x14\x42\x32\x42\x56\x43" }  },
+      /* --- pixel bitmap for cmr325 char#107 k --- */
+      { 107,41762,                      /* character number, location */
+         31, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 22,   31, 3,90, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x07\xe0\x10\xfa\x43\xe0\x10\x43\x68\x53\x75\x73\x82"
+            "\x93\x72\xa3\x61\xc3\x51\xd3\x41\xe3\x32\xe3\x15\xd4"
+            "\x24\xc3\x43\xc3\x53\xb3\x54\xa3\x63\xa3\x73\x93\x74"
+            "\x83\x84\x73\x85\x2b\x29" }  },
+      /* --- pixel bitmap for cmr325 char#108 l --- */
+      { 108,42459,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          {  9,   31, 3,16, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x06\x30\xfe\x33\x30\xfd\x33\x39" }  },
+      /* --- pixel bitmap for cmr325 char#109 m --- */
+      { 109,43800,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 33,   19, 3,52, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x06\x45\x75\x93\x22\x42\x42\x42\x83\x11\x72\x21\x72"
+            "\x40\xf1\x34\x84\x83\x30\xfc\x33\x93\x93\x39\x39\x39" }  },
+      /* --- pixel bitmap for cmr325 char#110 n --- */
+      { 110,44847,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 22,   19, 3,36, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x06\x45\xa3\x22\x42\x93\x11\x72\x50\xf1\x34\x83\x40"
+            "\xfc\x33\x93\x4a\x2a" }  },
+      /* --- pixel bitmap for cmr325 char#111 o --- */
+      { 111,45584,                      /* character number, location */
+         19, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 20,   19, 3,55, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x76\xc3\x43\x83\x83\x30\xf1\x23\xa3\x20\xf1\x13\xc3"
+            "\x1f\x54\xc4\x13\xc3\x24\xa4\x33\xa3\x53\x83\x83\x43"
+            "\xc6\x73" }  },
+      /* --- pixel bitmap for cmr325 char#112 p --- */
+      { 112,46686,                      /* character number, location */
+         19, 2,   -9, 2,      /* topleft row,col, and botleft row,col */
+          { 21,   28, 3,75, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x06\x36\x93\x12\x53\x74\x83\x63\xa3\x20\xf1\x33\xa4"
+            "\x10\xf5\x33\xb4\x33\xb3\x43\xa4\x43\xa3\x54\x84\x54"
+            "\x83\x63\x12\x43\x83\x35\x70\xf7\x33\xe0\x1a\xb3" }  },
+      /* --- pixel bitmap for cmr325 char#113 q --- */
+      { 113,47766,                      /* character number, location */
+         19, 2,   -9, 2,      /* topleft row,col, and botleft row,col */
+          { 22,   28, 3,80, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x75\x51\x93\x41\x32\x73\x71\x22\x64\x84\x63\xa3\x54"
+            "\xa3\x53\xb3\x4f\x54\xb3\x40\xf1\x14\xa3\x40\x23\x94"
+            "\x73\x71\x13\x83\x51\x23\xa6\x33\x40\xf7\xe0\x13\x40"
+            "\xbb" }  },
+      /* --- pixel bitmap for cmr325 char#114 r --- */
+      { 114,48679,                      /* character number, location */
+         19, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 16,   19, 3,33, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x07\x34\x63\x21\x32\x53\x11\x34\x44\x44\x44\x52\x10"
+            "\xfc\x43\x9b\x5f" }  },
+      /* --- pixel bitmap for cmr325 char#115 s --- */
+      { 115,49640,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 14,   19, 3,55, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x46\x21\x32\x63\x21\x92\x1f\x22\xa1\x14\xb7\x89\x69"
+            "\x96\xb5\xa4\xb2\x0f\x12\xa2\x03\x82\x12\x11\x62\x21"
+            "\x36\x41" }  },
+      /* --- pixel bitmap for cmr325 char#116 t --- */
+      { 116,50499,                      /* character number, location */
+         28, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 14,   28, 3,47, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf3\x61\x70\xf1\x52\x70\xf1\x43\x70\x25\x7d\x10\xf9"
+            "\x43\x70\xf4\x43\x61\x53\x41\x72\x41\x85\x21" }  },
+      /* --- pixel bitmap for cmr325 char#117 u --- */
+      { 117,51458,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 22,   19, 3,34, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x06\x57\x40\xfd\x33\x93\x40\x33\x84\x82\x71\x13\x92"
+            "\x51\x23\xa6\x37" }  },
+      /* --- pixel bitmap for cmr325 char#118 v --- */
+      { 118,52390,                      /* character number, location */
+         19, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 22,   19, 3,65, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x09\x67\x34\x94\x54\xa2\x30\xf1\x43\xa1\x40\xf1\x53"
+            "\x81\x50\xf2\x63\x61\x60\xf1\x73\x41\x70\xf1\x83\x21"
+            "\x80\xf2\x94\x90\xf1\xa2\xa6" }  },
+      /* --- pixel bitmap for cmr325 char#119 w --- */
+      { 119,53686,                      /* character number, location */
+         19, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 30,   19, 3,117, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x09\x28\x47\x24\x74\x83\x53\x83\x82\x63\x83\x91\x73"
+            "\x73\x81\x40\xf1\x43\x74\x71\x40\x53\x51\x22\x61\xa3"
+            "\x51\x23\x51\xb3\x41\x23\x41\xc3\x31\x42\x41\xc3\x31"
+            "\x43\x31\xd3\x11\x62\x21\x70\xf1\x73\x11\x63\x11\x70"
+            "\xf2\x83\x83\x80\x91\xa1\x95" }  },
+      /* --- pixel bitmap for cmr325 char#120 x --- */
+      { 120,54747,                      /* character number, location */
+         19, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 22,   19, 3,82, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x09\x58\x34\x84\x73\x82\xa3\x71\xc3\x51\xd4\x32\xe3"
+            "\x22\xe0\x23\x11\xe0\x43\xe0\x63\xe0\x45\xe0\x22\x13"
+            "\xe0\x12\x33\xe1\x53\xc1\x73\xa1\x84\x82\x93\x64\x94"
+            "\x38\x59" }  },
+      /* --- pixel bitmap for cmr325 char#121 y --- */
+      { 121,55872,                      /* character number, location */
+         19, 1,   -9, 1,      /* topleft row,col, and botleft row,col */
+          { 22,   28, 3,101, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x09\x67\x34\x94\x54\xa2\x30\xf1\x43\xa1\x40\xf1\x53"
+            "\x81\x50\xf2\x63\x61\x60\xf1\x73\x41\x70\xf1\x83\x21"
+            "\x80\xf2\x94\x90\xf1\xa2\xa0\xf1\xa1\xb0\xf1\x91\xc4"
+            "\x51\xc4\x41\xd4\x31\xe0\x12\x32\xe0\x24\xe0\x21" }  },
+      /* --- pixel bitmap for cmr325 char#122 z --- */
+      { 122,56879,                      /* character number, location */
+         19, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 17,   19, 3,69, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x2e\x01\x23\x83\x31\x94\x31\x93\x31\x93\x41\x83\x51"
+            "\x73\xd4\xd3\xd3\xd3\xd4\x71\x53\x81\x43\x91\x33\x92"
+            "\x23\xa1\x24\x92\x23\x93\x1e\x02\x11" }  },
+      /* --- pixel bitmap for cmr325 char#123 (noname) --- */
+      { 123,127060,                     /* character number, location */
+         12, 0,   11, 0,      /* topleft row,col, and botleft row,col */
+          { 22,    1, 3, 4, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x0e\x08" }  },
+      /* --- pixel bitmap for cmr325 char#124 (noname) --- */
+      { 124,127880,                     /* character number, location */
+         12, 0,   11, 0,      /* topleft row,col, and botleft row,col */
+          { 45,    1, 2, 2, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x00\x2d" }  },
+      /* --- pixel bitmap for cmr325 char#125 (noname) --- */
+      { 125,115420,                     /* character number, location */
+         31, 6,   23, 6,      /* topleft row,col, and botleft row,col */
+          { 12,    8, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x1c\xce\xe1\x1c\xee\x70\x06\x33\x18\x83\x11\x08" }  },
+      /* --- pixel bitmap for cmr325 char#126 \~ --- */
+      { 126,116120,                     /* character number, location */
+         30, 4,   26, 4,      /* topleft row,col, and botleft row,col */
+          { 14,    4, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x38\x20\x3f\x24\xfc\x04\x1c" }  },
+      /* --- pixel bitmap for cmr325 char#127 (noname) --- */
+      { 127,116807,                     /* character number, location */
+         31, 4,   26, 4,      /* topleft row,col, and botleft row,col */
+          { 14,    5, 3,15, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x13\x63\x1f\x25\x45\x13\x63\x13" }  },
+      /* --- trailer  --- */
+      { -99, -999,  0,0,0,0, { 0,0,0,0, (pixbyte *)"\0" }  }
+   } ;
+
+
+/* --- size=9 for .450gf ---
+ * mf '\mode=preview; mag=magstep(-9.62468787106292402266); input cmr10'
+ * --------------------------------------------------------------------- */
+/* --- fontdef for cmr450 --- */
+static	chardef  cmr450[] =
+   {
+      /* --- pixel bitmap for cmr450 char#0 \Gamma --- */
+      {   0,60318,                      /* character number, location */
+         43, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 34,   43, 3,83, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf1\x0e\x0e\x04\x20\x57\xd7\x86\xe0\x24\x86\xe0\x34"
+            "\x10\xf1\x66\xe0\x43\x10\xf3\x66\xe0\x52\x10\xf2\x66"
+            "\xe0\x62\xfe\x66\xe0\x80\xfa\x66\xe0\x80\x58\xe0\x7f"
+            "\x1e\x06\xe5" }  },
+      /* --- pixel bitmap for cmr450 char#1 \Delta --- */
+      {   1,61295,                      /* character number, location */
+         45, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 46,   45, 3,306, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x82\xe0\x80\xf1\xe0\x74\xe0\x70\xf1\xe0\x66\xe0"
+            "\x60\xf1\xe0\x58\xe0\x50\xe0\x42\x17\xe0\xe0\x82\x26"
+            "\xe0\xe0\x72\x37\xe0\xe0\x62\x46\xe0\xe0\x52\x57\xe0"
+            "\xe0\x42\x66\xe0\xe0\x32\x77\xe0\xe0\x22\x86\xe0\xe0"
+            "\x12\x97\xe0\xe2\xa6\xe0\xd2\xb7\xe0\xc2\xc6\xe0\xb2"
+            "\xd7\xe0\xa2\xe6\xe0\x92\xe0\x17\xe0\x82\xe0\x26\xe0"
+            "\x72\xe0\x37\xe0\x62\xe0\x46\xe0\x52\xe0\x57\xe0\x42"
+            "\xe0\x66\xe0\x32\xe0\x77\xe0\x22\xe0\x86\xe0\x13\xe0"
+            "\x87\xe2\xe0\xa6\xd3\xe0\xa7\xc2\xe0\xc6\xb3\xe0\xc7"
+            "\xa2\xe0\xe6\x93\xe0\xe7\x82\xe0\xe0\x17\x73\xe0\xe0"
+            "\x27\x62\xe0\xe0\x37\x53\xe0\xe0\x47\x4e\x0e\x0e\x20"
+            "\xf1\x1e\x0e\x0e\x02\x1f\x1e\x0e\x0e\x04" }  },
+      /* --- pixel bitmap for cmr450 char#2 \Theta --- */
+      {   2,62532,                      /* character number, location */
+         44, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 42,   45, 3,253, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x38\xe0\xe0\x34\x64\xe0\xb4\xc4\xe0\x74\xe4\xe0"
+            "\x44\xe0\x44\xe0\x14\xe0\x64\xd5\xe0\x65\xb5\xe0\x85"
+            "\xa4\xe0\xa4\x95\xe0\xa5\x40\xf1\x35\xe0\xc5\x30\xf1"
+            "\x25\xe0\xe5\x20\xf1\x16\xe0\xe6\x10\xf1\x15\xe0\xe0"
+            "\x25\x1f\x16\x42\xe0\x42\x46\x0f\x46\x4e\x08\x46\x0f"
+            "\x16\x42\xe0\x42\x46\x06\xe0\xe0\x26\x15\xe0\xe0\x25"
+            "\x10\xf1\x16\xe0\xe6\x10\xf1\x25\xe0\xe5\x20\xf1\x35"
+            "\xe0\xc5\x30\x45\xe0\xa5\x94\xe0\xa4\xa5\xe0\x85\xb5"
+            "\xe0\x65\xd4\xe0\x64\xe0\x14\xe0\x44\xe0\x44\xe4\xe0"
+            "\x74\xc4\xe0\xa5\x65\xe0\xe0\x28\xe0\x37" }  },
+      /* --- pixel bitmap for cmr450 char#3 \Lambda --- */
+      {   3,63662,                      /* character number, location */
+         45, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 39,   45, 3,198, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\xe0\x43\xe0\x40\xf2\xe0\x35\xe0\x30\xf2\xe0\x27"
+            "\xe0\x20\xe0\x19\xe0\x10\xf1\xe0\x12\x16\xe0\x10\xe3"
+            "\x17\xe0\xf2\xe2\x36\xe0\xf2\xd2\x56\xd0\xc2\x67\xc0"
+            "\xf1\xc2\x76\xc0\xb2\x87\xb0\xf1\xb2\x96\xb0\xa2\xa7"
+            "\xa0\xf1\xa2\xb6\xa0\x92\xc7\x90\xf1\x92\xd6\x90\x83"
+            "\xd7\x80\xf1\x82\xe0\x16\x80\x73\xe0\x17\x70\xf2\x72"
+            "\xe0\x36\x70\xf1\x62\xe0\x56\x60\x53\xe0\x56\xb4\xe0"
+            "\x47\x87\xe0\x29\x4f\x1d\x9e\x03" }  },
+      /* --- pixel bitmap for cmr450 char#4 \Xi --- */
+      {   4,65143,                      /* character number, location */
+         43, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 36,   43, 3,107, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf4\x1e\x0e\x06\x1f\x13\xe0\xe0\x23\x0f\x22\xe0\xe0"
+            "\x42\xf4\xe0\xe0\x80\xf2\x62\xe0\x62\x60\xf4\x6e\x0a"
+            "\x60\xf2\x62\xe0\x62\x60\xf5\xe0\xe0\x8f\x32\xe0\xe0"
+            "\x42\x03\xe0\xe0\x23\x12\xe0\xe0\x22\x10\xf4\x1e\x0e"
+            "\x06\x11" }  },
+      /* --- pixel bitmap for cmr450 char#5 \Pi --- */
+      {   5,66428,                      /* character number, location */
+         43, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 43,   43, 2,28, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xff\x01\x00\x2b\x05\x07\x13\x07\x05\x00\xff\x24\x06"
+            "\x06\x13\x06\x06\x00\x05\x08\x11\x08\x05\xff\x01\x12"
+            "\x07\x12" }  },
+      /* --- pixel bitmap for cmr450 char#6 \Sigma --- */
+      {   6,67665,                      /* character number, location */
+         43, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 39,   43, 3,249, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\x0e\x0e\x09\x20\x17\xe0\x69\x37\xe0\xa5\x47\xe0"
+            "\xa5\x47\xe0\xa4\x48\xe0\xa3\x57\xe0\xa3\x67\xe0\xa2"
+            "\x10\xf1\x67\xe0\x92\x10\x77\xe0\x92\xf1\x87\xe0\x82"
+            "\x97\xe0\x90\xf1\xa7\xe0\x80\xb7\xe0\xe0\x57\xe0\xe0"
+            "\x48\xe0\xe0\x47\xe0\xe0\x57\xe0\xe0\x55\xe0\xe0\x64"
+            "\xe0\xe0\x82\xe0\xe0\x82\xe0\xe0\x83\xe0\xe0\x73\xe0"
+            "\xe0\x73\xe0\x82\xc2\xe0\x92\xb2\xe0\xa2\xa2\xe0\xa3"
+            "\x92\xe0\xb2\x92\xe0\xc2\x82\xe0\xc3\x73\xe0\xc3\x63"
+            "\xe0\xc4\x53\xe0\xc5\x52\xe0\xc6\x42\xe0\x99\x4e\x0e"
+            "\x07\x3e\x0e\x08\x2e\x0e\x09\x28" }  },
+      /* --- pixel bitmap for cmr450 char#7 \Upsilon --- */
+      {   7,68849,                      /* character number, location */
+         44, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 42,   44, 3,127, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x56\xe0\x66\x9a\xea\x7c\xcc\x5e\xae\x3e\x02\x8e\x02"
+            "\x23\x86\x66\x83\x13\xa5\x65\xa6\xb5\x45\xb5\xd4\x44"
+            "\xd4\xe4\x24\xe2\xf1\xe0\x24\x24\xe0\x20\xe0\x33\x23"
+            "\xe0\x30\xf2\xe0\x38\xe0\x30\xfe\xe0\x46\xe0\x40\xf9"
+            "\xe0\x46\xe0\x40\xe0\x38\xe0\x30\xf1\xae\x08\xa0" }  },
+      /* --- pixel bitmap for cmr450 char#8 \Phi --- */
+      {   8,69973,                      /* character number, location */
+         43, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 39,   43, 3,181, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\x9e\x08\x80\xe0\x28\xe0\x10\xf4\xe0\x36\xe0\x20"
+            "\xeb\xe0\xa5\x26\x15\xe0\x44\x56\x44\xe5\x66\x55\xb4"
+            "\x86\x74\x94\x96\x84\x75\x96\x85\x55\xa6\x95\x36\xa6"
+            "\x96\x25\xb6\xa5\x1f\x66\xb6\xa6\x15\xb6\xa5\x26\xa6"
+            "\x96\x35\xa6\x95\x55\x96\x85\x74\x96\x84\x94\x86\x74"
+            "\xb5\x66\x55\xe4\x56\x44\xe0\x45\x26\x15\xe0\xab\xe0"
+            "\xf4\xe0\x36\xe0\x20\xe0\x28\xe0\x10\xf1\x9e\x08\x83" }  },
+      /* --- pixel bitmap for cmr450 char#9 \Psi --- */
+      {   9,71222,                      /* character number, location */
+         43, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 42,   43, 3,167, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xae\x08\xa0\xe0\x38\xe0\x30\xf4\xe0\x46\xe0\x47"
+            "\xb6\xb7\x26\xa6\xa6\x20\xf1\x36\x96\x96\x30\xf9\x46"
+            "\x86\x86\x40\x55\x86\x85\x50\xf2\x56\x76\x76\x50\x65"
+            "\x76\x75\xc6\x66\x66\xd5\x66\x65\xe0\x15\x56\x55\xe0"
+            "\x34\x56\x54\xe0\x54\x46\x44\xe0\x75\x26\x25\xe0\xae"
+            "\x02\xe0\xe0\x1a\xe0\x20\xf4\xe0\x46\xe0\x40\xe0\x38"
+            "\xe0\x30\xf1\xae\x08\xa0" }  },
+      /* --- pixel bitmap for cmr450 char#10 \Omega --- */
+      {  10,72509,                      /* character number, location */
+         44, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 39,   44, 3,235, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x19\xe0\xc5\x75\xe0\x64\xd4\xe0\x24\xe0\x34\xd4"
+            "\xe0\x54\xb4\xe0\x74\x94\xe0\x94\x75\xe0\x95\x30\xf1"
+            "\x25\xe0\xb5\x20\x16\xe0\xb6\x25\xe0\xd5\x1f\x66\xe0"
+            "\xd6\x15\xe0\xd5\x10\xf1\x16\xe0\xb6\x10\x25\xe0\xb5"
+            "\x46\xe0\x96\x55\xe0\x95\x74\xe0\x94\x85\xe0\x75\x94"
+            "\xe0\x74\xb4\xe0\x54\x60\xf1\x73\xe0\x53\x70\x83\xe0"
+            "\x33\xe0\x32\xe0\x32\xe0\x43\xe0\x13\x92\x82\xe0\x12"
+            "\x84\x91\xe0\x11\x92\x12\x82\xd2\x82\x10\xf1\x12\x91"
+            "\xd1\x92\x10\x13\x82\xb2\x83\x2d\xbd\x10\xf2\x2c\xbc"
+            "\x27" }  },
+      /* --- pixel bitmap for cmr450 char#11 \ff --- */
+      {  11,122766,                     /* character number, location */
+         44, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 39,   44, 3,101, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x17\x86\xe0\x14\x63\x33\x42\xc4\xa5\x54\xa3\xa7"
+            "\x46\x84\x97\x56\x74\xa7\x56\x74\xa6\x74\x74\xc5\x82"
+            "\x20\xf8\x64\xd4\xcf\x1e\x0e\x06\x50\xfe\x64\xd4\xc0"
+            "\xf6\x64\xd4\xc0\x55\xd5\xb0\xf1\x1e\x3e\x01\x62" }  },
+      /* --- pixel bitmap for cmr450 char#12 \fi --- */
+      {  12,124066,                     /* character number, location */
+         44, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 32,   44, 3,100, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x17\xe0\x84\x62\xe0\x44\x92\xe0\x23\xb3\xe4\xa5"
+            "\x50\xf1\x74\xa6\x50\x64\xb6\xb4\xc4\x60\xf6\x64\xe0"
+            "\x80\x64\xd4\x5f\x1e\x0d\x50\x64\xc5\x50\xfe\x64\xd4"
+            "\x50\xf5\x64\xd4\x50\x55\xd5\x40\xf1\x1e\x3e" }  },
+      /* --- pixel bitmap for cmr450 char#13 \fl --- */
+      {  13,125334,                     /* character number, location */
+         44, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 32,   44, 3,76, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xe0\x18\xe0\x74\x65\xe0\x14\x85\xe3\x96\xd4\x96\xc4"
+            "\xa6\xc4\xb5\x50\xf9\x64\xd4\x5f\x1e\x0d\x50\xfe\x64"
+            "\xd4\x50\xf6\x64\xd4\x50\x56\xb6\x40\xf1\x1e\x3e" }  },
+      /* --- pixel bitmap for cmr450 char#14 \ffi --- */
+      {  14,127061,                     /* character number, location */
+         44, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 49,   44, 3,138, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x17\xa7\xe0\x84\x62\x54\x62\xe0\x44\x92\x24\x92"
+            "\xe0\x23\xb6\xb3\xe4\xa7\xa5\x50\xf1\x74\xa7\xa6\x50"
+            "\x64\xb6\xb6\xb4\xc5\xc4\x60\xf6\x64\xd4\xe0\x80\x64"
+            "\xd4\xd4\x5f\x1e\x0e\x0e\x02\x50\x64\xd4\xc5\x50\xfe"
+            "\x64\xd4\xd4\x50\xf5\x64\xd4\xd4\x50\x55\xd4\xd5\x40"
+            "\xf1\x1e\x3e\x3e" }  },
+      /* --- pixel bitmap for cmr450 char#15 \ffl --- */
+      {  15,128862,                     /* character number, location */
+         44, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 49,   44, 3,114, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x17\xa8\xe0\x74\x62\x54\x65\xe0\x14\xa1\x24\x85"
+            "\xe3\xa7\x96\xd4\x98\x96\xc4\xa7\xa6\xc4\xa7\xb5\xb4"
+            "\xc5\xd4\x50\xf8\x64\xd4\xd4\x5f\x1e\x0e\x0e\x02\x50"
+            "\xfe\x64\xd4\xd4\x50\xf6\x64\xd4\xd4\x50\x56\xb6\xb6"
+            "\x40\xf1\x1e\x3e\x3e" }  },
+      /* --- pixel bitmap for cmr450 char#16 \imath --- */
+      {  16,87862,                      /* character number, location */
+         28, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 13,   28, 3,30, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x54\x4f\x19\x40\x45\x40\xfe\x54\x40\xf5\x54\x40\x45"
+            "\x4f\x1d" }  },
+      /* --- pixel bitmap for cmr450 char#17 \jmath --- */
+      {  17,88610,                      /* character number, location */
+         28,-3,  -13,-3,      /* topleft row,col, and botleft row,col */
+          { 16,   41, 3,43, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xb5\xf1\x79\xb5\xfe\xc4\xfd\xc4\x14\x7a\x6a\x63\x16"
+            "\x54\x15\x63\x33\x63\x53\x43\x86\x60" }  },
+      /* --- pixel bitmap for cmr450 char#18 \gravesym --- */
+      {  18,113703,                     /* character number, location */
+         43, 7,   32, 7,      /* topleft row,col, and botleft row,col */
+          { 11,   11, 3,22, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x03\x84\x75\x75\x75\x75\x74\x84\x93\x93\x92" }  },
+      /* --- pixel bitmap for cmr450 char#19 \acutesym --- */
+      {  19,114288,                     /* character number, location */
+         43,13,   32,13,      /* topleft row,col, and botleft row,col */
+          { 11,   11, 3,23, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x83\x74\x65\x55\x55\x55\x64\x64\x63\x73\x82\x91" }  },
+      /* --- pixel bitmap for cmr450 char#20 \checksym --- */
+      {  20,114929,                     /* character number, location */
+         40, 7,   32, 7,      /* topleft row,col, and botleft row,col */
+          { 16,    8, 3,27, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x11\xd1\x13\x93\x14\x74\x34\x34\x64\x14\x87\xb3\xe1"
+            "\x73" }  },
+      /* --- pixel bitmap for cmr450 char#21 \brevesym --- */
+      {  21,115565,                     /* character number, location */
+         43, 6,   32, 6,      /* topleft row,col, and botleft row,col */
+          { 19,   11, 3,41, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf2\x01\xe0\x31\x02\xe0\x12\x11\xe0\x11\x22\xd2\x32"
+            "\xb2\x52\x92\x64\x54\x89\xc5\x73" }  },
+      /* --- pixel bitmap for cmr450 char#22 (noname) --- */
+      {  22,116175,                     /* character number, location */
+         36, 4,   34, 4,      /* topleft row,col, and botleft row,col */
+          { 23,    2, 3, 6, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf1\x0e\x09" }  },
+      /* --- pixel bitmap for cmr450 char#23 (noname) --- */
+      {  23,117020,                     /* character number, location */
+         44,17,   33,17,      /* topleft row,col, and botleft row,col */
+          { 13,   11, 3,27, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x45\x62\x52\x32\x72\x1f\x42\x92\x12\x72\x32\x52\x65"
+            "\x42" }  },
+      /* --- pixel bitmap for cmr450 char#24 (noname) --- */
+      {  24,117740,                     /* character number, location */
+         -1, 8,  -13, 8,      /* topleft row,col, and botleft row,col */
+          { 15,   12, 3,27, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf1\x64\x50\x65\xc5\xc4\x10\xf2\xb4\xa5\x95\x2b\x31"
+            "\xe2" }  },
+      /* --- pixel bitmap for cmr450 char#25 \ss --- */
+      {  25,89759,                      /* character number, location */
+         44, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 27,   45, 3,163, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xc7\xe0\x43\x53\xe3\x84\xb3\xa4\x94\xa5\x83\xc4\x20"
+            "\xf4\x54\xc5\x10\x54\xc4\x74\xb5\x74\xb4\x84\xa4\x94"
+            "\x94\xa4\x74\x79\x35\xa9\x63\xe4\x83\xc4\x93\xb4\xa3"
+            "\xa4\xb3\x94\xb4\x30\xf1\x54\xc4\x20\xf1\x54\xc5\x10"
+            "\x54\xd4\x10\xf7\x54\xd5\x54\x51\x74\x64\x34\x64\x64"
+            "\x35\x44\x74\x34\x54\x65\x34\x44\x39\x42\x53\x49\x51"
+            "\x43\xe0\x65\x70" }  },
+      /* --- pixel bitmap for cmr450 char#26 \ae --- */
+      {  26,91232,                      /* character number, location */
+         29, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 40,   30, 3,183, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x77\xd6\xc3\x54\x83\x43\x82\xa3\x62\x73\x62\xc3\x33"
+            "\x93\x54\xb3\x22\xb3\x36\xa7\xb3\x36\xa6\xc4\x26\xb5"
+            "\xd3\x26\xb5\xd4\x24\xc4\xe4\xf2\xe0\x44\xe4\xce\x0e"
+            "\x86\x44\xe0\xa5\x74\xe0\x85\x94\xe0\x74\xb4\xe0\x65"
+            "\xb4\xe0\x55\xd3\xe0\x55\xd4\xe0\x35\xe4\xe0\x35\xe4"
+            "\xe0\x17\xd5\xe0\x17\xd2\x13\xd2\x15\xc3\x23\xc2\x25"
+            "\xa3\x42\xb2\x44\x93\x62\x92\x65\x53\x93\x53\xa8\xe6"
+            "\x62" }  },
+      /* --- pixel bitmap for cmr450 char#27 \oe --- */
+      {  27,92474,                      /* character number, location */
+         29, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 44,   30, 3,197, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xa6\xe0\x16\xe0\x13\x53\xa3\x43\xb3\x92\x82\x73\x93"
+            "\xb2\x53\x93\x73\xc3\x42\xb3\x54\xd3\x23\xb3\x44\xe0"
+            "\x16\xc4\x34\xe0\x16\xd3\x25\xe0\x16\xd4\xf1\x14\xe0"
+            "\x34\xe4\x0f\x15\xe0\x34\xe4\x05\xe0\x3e\x08\x0f\x45"
+            "\xe0\x34\xe0\x40\x14\xe0\x34\xe0\x54\xe0\x35\xe0\x45"
+            "\xe0\x16\xe0\x30\xf1\x24\xe0\x16\xe0\x12\x34\xd3\x23"
+            "\xd2\x53\xc3\x43\xc2\x63\xb2\x62\xb2\x83\x92\x82\x92"
+            "\xb3\x53\xa3\x53\xe6\xe0\x26\x64" }  },
+      /* --- pixel bitmap for cmr450 char#28 (noname) --- */
+      {  28,93418,                      /* character number, location */
+         33, 2,   -6, 2,      /* topleft row,col, and botleft row,col */
+          { 27,   39, 3,185, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xe0\xa1\x20\xe0\x91\xe0\xb2\xd7\x51\xc3\x53\x21"
+            "\xb3\x94\xa3\xb3\x93\xc4\x73\xd1\x13\x63\xc1\x23\x53"
+            "\xd1\x33\x34\xc1\x44\x24\xb2\x44\x23\xc1\x63\x1f\x14"
+            "\xb1\x74\x0f\x14\xa1\x84\x04\x91\x94\x0f\x14\x81\xa4"
+            "\x0f\x14\x71\xb4\x13\x61\xc3\x24\x42\xb4\x33\x41\xc3"
+            "\x43\x31\xd3\x53\x21\xc3\x74\xc3\x93\xc2\xb3\x93\xb1"
+            "\x14\x54\xc1\x47\xe1\xe0\xb2\xe0\xb1\xe0\x90\xf1\x21"
+            "\xe0\xa3" }  },
+      /* --- pixel bitmap for cmr450 char#29 \AE --- */
+      {  29,95364,                      /* character number, location */
+         43, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 52,   43, 3,287, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xee\x0e\x07\x30\xe0\x52\x27\xc7\xe0\x82\x36\xe0"
+            "\x14\xe0\x73\x36\xe0\x24\x20\xf1\xe0\x42\x46\xe0\x33"
+            "\x20\xf2\xe0\x32\x56\xe0\x42\x20\xe0\x22\x66\xe0\x42"
+            "\x20\xf1\xe0\x22\x66\xe0\x52\x10\xe0\x12\x76\xe0\x52"
+            "\x10\xf1\xe0\x12\x76\xa2\xa0\xf1\xe2\x86\xa2\xa0\xd3"
+            "\x86\xa2\xe0\x92\x96\x93\xe0\x92\x96\x84\xa0\xf1\xce"
+            "\x0e\x02\xa0\xc2\xa6\x84\xe0\x72\xb6\x93\xa0\xf1\xb2"
+            "\xb6\xa2\xa0\xf2\xa2\xc6\xa2\x82\xf2\x92\xd6\xe0\x52"
+            "\x10\x82\xe6\xe0\x52\x92\xe6\xe0\x43\x83\xe6\xe0\x42"
+            "\x20\xf1\x72\xe0\x16\xe0\x33\x20\x63\xe0\x16\xe0\x24"
+            "\x74\xe0\x16\xe0\x15\x58\xc7\xc7\x3f\x1d\x6e\x0e\x02"
+            "\x32" }  },
+      /* --- pixel bitmap for cmr450 char#30 \OE --- */
+      {  30,97262,                      /* character number, location */
+         44, 4,   -1, 4,      /* topleft row,col, and botleft row,col */
+          { 57,   45, 3,363, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x39\xe0\xe0\xe0\x34\x6e\x0e\x02\xe4\xbe\x0e\xd4"
+            "\xd6\xe7\xb5\xe6\xe0\x34\xa5\xe0\x16\xe0\x44\x85\xe0"
+            "\x35\xe0\x53\x75\xe0\x45\xe0\x53\x74\xe0\x55\xe0\x62"
+            "\x65\xe0\x55\xe0\x62\x20\xf1\x35\xe0\x65\xe0\x62\x20"
+            "\x26\xe0\x65\xe0\x72\x35\xe0\x75\xe0\x72\x26\xe0\x75"
+            "\xd2\x62\x26\xe0\x75\xd2\x90\xf1\x15\xe0\x85\xd2\x9f"
+            "\x16\xe0\x85\xc3\x96\xe0\x85\xa5\x9f\x16\xe0\x8e\x06"
+            "\x96\xe0\x85\xa5\x9f\x16\xe0\x85\xc3\x96\xe0\x85\xd2"
+            "\x97\xe0\x75\xd2\x90\xf1\x16\xe0\x75\xd2\x72\x16\xe0"
+            "\x75\xe0\x82\xf1\x26\xe0\x65\xe0\x72\x10\x35\xe0\x65"
+            "\xe0\x72\x46\xe0\x55\xe0\x72\x55\xe0\x55\xe0\x63\x65"
+            "\xe0\x45\xe0\x62\x75\xe0\x45\xe0\x53\x85\xe0\x35\xe0"
+            "\x53\x95\xe0\x16\xe0\x44\xa5\xe6\xe0\x26\xc4\xd6\xe7"
+            "\xe5\xae\x0e\xe0\x34\x6e\x0e\x02\xe0\x69\xe0\xe0\x30" }  },
+      /* --- pixel bitmap for cmr450 char#31 (noname) --- */
+      {  31,98414,                      /* character number, location */
+         46, 3,   -3, 3,      /* topleft row,col, and botleft row,col */
+          { 42,   49, 3,355, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\x91\xe0\xe0\xc2\xe0\x78\xb1\xe0\x53\x83\x71"
+            "\xe0\x34\xc4\x31\xe0\x33\xe0\x23\x21\xe0\x14\xe0\x44"
+            "\xe0\x14\xe0\x64\xd4\xe0\x75\xb5\xe0\x76\xa4\xe0\x71"
+            "\x24\x94\xe0\x72\x34\x75\xe0\x71\x45\x65\xe0\x61\x55"
+            "\x55\xe0\x62\x65\x45\xe0\x61\x75\x36\xe0\x51\x86\x26"
+            "\xe0\x41\x96\x25\xe0\x51\xa5\x25\xe0\x41\xb5\x16\xe0"
+            "\x31\xcc\xe0\x22\xcc\xe0\x21\xdc\xe0\x11\xec\xe2\xec"
+            "\xe1\xe0\x1c\xd1\xe0\x2c\xc2\xe0\x2c\xc1\xe0\x3c\xb1"
+            "\xe0\x46\xf1\x15\xa1\xe0\x55\x10\x16\x81\xe0\x56\x35"
+            "\x71\xe0\x65\x45\x62\xe0\x65\x54\x61\xe0\x74\x65\x41"
+            "\xe0\x75\x74\x32\xe0\x74\x94\x21\xe0\x74\xa4\x11\xe0"
+            "\x84\xb5\xe0\x74\xd4\xe0\x64\xe0\x14\xe0\x44\xe0\x11"
+            "\x23\xe0\x23\xe0\x31\x34\xc4\xe0\x31\x64\x84\xe0\x41"
+            "\xb8\xe0\x72\xe0\xe0\xc1\xe0\xe0\x90" }  },
+      /* --- pixel bitmap for cmr450 char#32 (noname) --- */
+      {  32,118254,                     /* character number, location */
+         24, 1,   18, 1,      /* topleft row,col, and botleft row,col */
+          { 14,    6, 3,13, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xb3\x95\x66\x56\x65\x93\xa0" }  },
+      /* --- pixel bitmap for cmr450 char#33 ! --- */
+      {  33,99247,                      /* character number, location */
+         44, 5,    0, 5,      /* topleft row,col, and botleft row,col */
+          {  7,   44, 3,41, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x23\x35\x1f\x67\xfa\x15\x10\xf9\x23\x20\x32\x20\xf5"
+            "\x70\x23\x35\x1f\x27\x15\x33\x23" }  },
+      /* --- pixel bitmap for cmr450 char#34 " --- */
+      {  34,129985,                     /* character number, location */
+         43, 2,   24, 2,      /* topleft row,col, and botleft row,col */
+          { 20,   19, 3,73, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x23\x93\x45\x75\x27\x57\x1f\x18\x48\x15\x11\x55\x11"
+            "\x23\x21\x63\x21\xf2\x71\xb1\xf2\x61\xb1\x10\xf1\x51"
+            "\xb1\x20\x41\xb1\x61\xb1\x61\xb1\x61\xb1\x6e" }  },
+      /* --- pixel bitmap for cmr450 char#35 # --- */
+      {  35,100809,                     /* character number, location */
+         43, 3,  -12, 3,      /* topleft row,col, and botleft row,col */
+          { 46,   55, 3,231, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\xe0\x73\xc3\x70\xe0\x64\xb4\x70\xf2\xe0\x63\xc3"
+            "\x80\xe0\x54\xb4\x80\xf1\xe0\x53\xc3\x90\xe0\x44\xb4"
+            "\x90\xf2\xe0\x43\xc3\xa0\xe0\x34\xb4\xa0\xf2\xe0\x33"
+            "\xc3\xb0\xe0\x24\xb4\xbf\x2e\x0e\x0e\x04\xe0\x13\xc3"
+            "\xe0\xd4\xb4\xd0\xf6\xe3\xc3\xe0\xd4\xb4\xe0\xd3\xc3"
+            "\xe0\x1f\x2e\x0e\x0e\x04\xb4\xb4\xe0\x20\xf2\xb3\xc3"
+            "\xe0\x30\xa4\xb4\xe0\x30\xf2\xa3\xc3\xe0\x40\x94\xb4"
+            "\xe0\x40\xf1\x93\xc3\xe0\x50\x84\xb4\xe0\x50\xf2\x83"
+            "\xc3\xe0\x60\x74\xb4\xe0\x60\xf2\x73\xc3\xe0\x76" }  },
+      /* --- pixel bitmap for cmr450 char#36 $ --- */
+      {  36,83650,                      /* character number, location */
+         47, 3,   -3, 3,      /* topleft row,col, and botleft row,col */
+          { 25,   50, 3,205, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\xc2\xb0\x98\xe0\x1c\xb4\x32\x25\x83\x52\x53\x62"
+            "\x72\x63\x43\x72\x73\x32\x82\x82\x22\x92\x82\x22\x92"
+            "\x77\x92\x65\x0f\x23\x92\x56\x04\x82\x64\x14\x82\xb5"
+            "\x72\xc6\x52\xc8\x32\xdc\xed\xde\xce\x01\xbe\x01\xce"
+            "\xe0\x1b\xe2\x27\xe2\x46\xd2\x55\xd2\x65\xc2\x74\x14"
+            "\x72\x74\x0f\x26\x62\x83\x05\x72\x87\x82\x86\x92\x82"
+            "\x22\x92\x73\x22\x92\x72\x42\x82\x63\x43\x72\x53\x63"
+            "\x62\x43\x85\x32\x24\xbc\xe0\x27\x90\xf1\xc2\xb2" }  },
+      /* --- pixel bitmap for cmr450 char#37 % --- */
+      {  37,102182,                     /* character number, location */
+         47, 3,   -3, 3,      /* topleft row,col, and botleft row,col */
+          { 46,   50, 3,373, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x75\xe0\xc2\xb3\x32\xe0\xa3\xa2\x71\xe0\x84\x93\x82"
+            "\xe0\x54\x93\x93\xe0\x34\xa3\xa1\x12\xd6\x94\xa2\x24"
+            "\x54\x14\xa3\xb2\x65\x53\xb3\xc1\xe0\x14\xa4\xc2\xd4"
+            "\xb4\xc2\xd3\xc4\xc2\xc4\xc4\xc2\xb4\xd4\xc2\xb3\xe4"
+            "\xc2\xa4\xe4\xc2\x94\xe0\x14\xc2\x93\xe0\x33\xc1\x94"
+            "\xe0\x33\xb2\x84\xe0\x44\xa2\x83\xe0\x63\xa1\x84\xe0"
+            "\x63\x92\x74\xe0\x83\x81\x83\xe0\xa2\x71\x84\xe0\xb3"
+            "\x32\x84\xe0\xe5\x93\xb5\xe0\xc4\x93\x41\xe0\xb3\x92"
+            "\x71\xe0\x94\x83\x81\xe0\x74\x83\x92\xe0\x63\x93\xa2"
+            "\xe0\x44\x84\xa2\xe0\x34\x93\xb2\xe0\x33\xa3\xc2\xe0"
+            "\x14\x94\xc2\xe4\xa4\xc2\xe3\xb4\xc2\xd4\xb4\xc2\xc4"
+            "\xc4\xc2\xc3\xd4\xc2\xb4\xd4\xc2\xa4\xe0\x13\xc2\xa3"
+            "\xe0\x23\xb2\xa4\xe0\x24\xa2\x94\xe0\x43\xa2\x93\xe0"
+            "\x53\x92\x94\xe0\x63\x81\x94\xe0\x82\x71\xa3\xe0\xa3"
+            "\x41\xc2\xe0\xc5\x60" }  },
+      /* --- pixel bitmap for cmr450 char#38 & --- */
+      {  38,85068,                      /* character number, location */
+         44, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 42,   45, 3,309, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xd4\xe0\xe0\x82\x42\xe0\xe0\x52\x61\xe0\xe0\x43\x62"
+            "\xe0\xe0\x23\x81\xe0\xe0\x23\x82\xe0\x70\xf3\x74\x82"
+            "\xe0\x70\x74\x81\xe0\xe0\x14\x72\xe0\xe0\x14\x71\xe0"
+            "\xe0\x24\x62\xe0\xe0\x24\x61\xe0\xe0\x44\x41\xe0\xe0"
+            "\x54\x31\xe0\xc0\xf1\x84\x21\xde\x95\xe0\x37\xd4\xe0"
+            "\x54\xe0\x15\xe0\x43\xe0\x34\xe0\x42\xe0\x35\xe0\x42"
+            "\xe0\x21\x24\xe0\x22\xe0\x21\x35\xe0\x12\xe0\x11\x54"
+            "\xe2\xe0\x12\x55\xc2\xe0\x12\x74\xc2\xe0\x12\x75\xa2"
+            "\xe0\x12\x95\x92\xe3\xa4\x82\xe4\xb4\x62\xe0\x14\xb5"
+            "\x52\xe5\xc5\x32\xe0\x15\xd4\x22\xe0\x2f\x15\xe6\xe0"
+            "\x12\x06\xe5\xe0\x12\x15\xe0\x15\xd2\x26\xc8\xc2\x36"
+            "\xa2\x45\x83\x56\x64\x65\x63\x8c\xab\xb8\xe7\x60" }  },
+      /* --- pixel bitmap for cmr450 char#39 ' --- */
+      {  39,103046,                     /* character number, location */
+         43, 5,   24, 5,      /* topleft row,col, and botleft row,col */
+          {  8,   19, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x1c\x3e\x7f\xff\xff\xbe\x9c\x80\x80\x80\x40\x40\x40"
+            "\x20\x20\x10\x08\x04\x02" }  },
+      /* --- pixel bitmap for cmr450 char#40 ( --- */
+      {  40,103650,                     /* character number, location */
+         47, 7,  -16, 7,      /* topleft row,col, and botleft row,col */
+          { 14,   63, 3,118, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xd1\xc1\xc1\xc1\xc2\xb2\x40\xf1\x72\x50\x62\xb3\xb2"
+            "\xb3\xb2\x80\xf1\x33\x80\x32\x90\xf2\x23\x90\x14\x90"
+            "\xf3\x13\xaf\xe4\xa0\xf3\x13\xa0\x14\x90\xf2\x23\x90"
+            "\x32\x90\xf1\x33\x80\x42\xc3\xc2\xc3\xc2\x60\xf1\x72"
+            "\x50\x82\xd2\xd1\xe1\xe1\xe1" }  },
+      /* --- pixel bitmap for cmr450 char#41 ) --- */
+      {  41,104339,                     /* character number, location */
+         47, 3,  -16, 3,      /* topleft row,col, and botleft row,col */
+          { 14,   63, 3,119, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x01\xe1\xe1\xe1\xd2\xd2\x80\xf1\x52\x70\x62\xc3\xc2"
+            "\xc3\xc2\x40\xf1\x83\x30\x92\x30\xf2\x93\x20\x94\x10"
+            "\xf3\xa3\x10\xfe\xa4\xf3\xa3\x10\x94\x10\xf2\x93\x20"
+            "\x92\x30\xf1\x83\x30\x82\xb3\xb2\xb3\xb2\x60\xf1\x52"
+            "\x70\x42\xb2\xc1\xc1\xc1\xc1\xd2" }  },
+      /* --- pixel bitmap for cmr450 char#42 * --- */
+      {  42,105052,                     /* character number, location */
+         47, 4,   20, 4,      /* topleft row,col, and botleft row,col */
+          { 23,   27, 3,83, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf5\xa3\xa3\x73\x77\x62\x79\x61\x65\x25\x41\x45\x64"
+            "\x31\x34\xa4\x11\x14\xe7\xe0\x43\xe0\x47\xe4\x11\x14"
+            "\xa4\x31\x34\x65\x41\x45\x25\x61\x69\x62\x77\x73\x73"
+            "\xf5\xa3\xa1" }  },
+      /* --- pixel bitmap for cmr450 char#43 + --- */
+      {  43,105810,                     /* character number, location */
+         36, 3,   -5, 3,      /* topleft row,col, and botleft row,col */
+          { 42,   41, 2,13, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xff\x12\x14\x03\x13\xff\x02\x2a\xff\x12\x14\x03\x13" }  },
+      /* --- pixel bitmap for cmr450 char#44 (noname) --- */
+      {  44,106447,                     /* character number, location */
+          7, 5,  -12, 5,      /* topleft row,col, and botleft row,col */
+          {  8,   19, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x1c\x3e\x7f\xff\xff\xbe\x9c\x80\x80\x80\x40\x40\x40"
+            "\x20\x20\x10\x08\x04\x02" }  },
+      /* --- pixel bitmap for cmr450 char#45 (noname) --- */
+      {  45,130548,                     /* character number, location */
+         15, 1,   12, 1,      /* topleft row,col, and botleft row,col */
+          { 16,    3, 3, 6, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf2\x0e\x02" }  },
+      /* --- pixel bitmap for cmr450 char#46 (noname) --- */
+      {  46,106942,                     /* character number, location */
+          7, 5,    0, 5,      /* topleft row,col, and botleft row,col */
+          {  7,    7, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x1c\xdf\xff\xff\xf7\x71\x00" }  },
+      /* --- pixel bitmap for cmr450 char#47 / --- */
+      {  47,107458,                     /* character number, location */
+         47, 3,  -16, 3,      /* topleft row,col, and botleft row,col */
+          { 25,   63, 3,257, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x92\xe0\x83\xe0\x74\xf1\xe0\x73\x10\xe0\x64\x10"
+            "\xf1\xe0\x63\x20\xe0\x54\x20\xf1\xe0\x53\x30\xe0\x44"
+            "\xe0\x73\xe0\x74\x40\xf1\xe0\x33\x50\xe0\x24\x50\xf1"
+            "\xe0\x23\x60\xe0\x14\xe0\x73\xe0\x74\x70\xf1\xe3\x80"
+            "\xd4\x80\xf1\xd3\x90\xc4\x90\xf1\xc3\xa0\xb4\xe0\x73"
+            "\xe0\x74\xb0\xf1\xa3\xc0\x94\xc0\xf1\x93\xd0\x84\xd0"
+            "\xf1\x83\xe0\x74\xe0\x73\xe0\x74\xe0\x10\xf1\x63\xe0"
+            "\x20\x54\xe0\x20\xf1\x53\xe0\x30\x44\xe0\x73\xe0\x74"
+            "\xe0\x40\xf1\x33\xe0\x50\x24\xe0\x50\xf1\x23\xe0\x60"
+            "\x14\xe0\x60\xf1\x13\xe0\x74\xe0\x7f\x13\xe0\x82" }  },
+      /* --- pixel bitmap for cmr450 char#48 0 --- */
+      {  48,73365,                      /* character number, location */
+         41, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 27,   42, 3,131, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xa7\xe0\x43\x53\xe3\x93\xb3\xb3\x93\xd3\x74\xd4\x63"
+            "\xe0\x13\x30\xf1\x24\xe0\x14\x20\x15\xe0\x15\x10\xf2"
+            "\x14\xe0\x34\x1f\xe5\xe0\x35\x05\xe0\x35\xf2\x14\xe0"
+            "\x34\x10\x15\xe0\x15\x10\xf1\x24\xe0\x14\x20\x33\xe0"
+            "\x13\x64\xd4\x73\xd3\x93\xb3\xb3\x93\xd4\x54\xe0\x37"
+            "\xa0" }  },
+      /* --- pixel bitmap for cmr450 char#49 1 --- */
+      {  49,74251,                      /* character number, location */
+         41, 5,    0, 5,      /* topleft row,col, and botleft row,col */
+          { 21,   41, 3,46, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xb2\xe0\x43\xe0\x25\xd8\x8d\x85\x35\x80\xfe\x85\x80"
+            "\xfe\x85\x80\xf1\x85\x80\x77\x7f\x1e\x07" }  },
+      /* --- pixel bitmap for cmr450 char#50 2 --- */
+      {  50,75276,                      /* character number, location */
+         41, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 25,   41, 3,165, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x88\xe0\x1c\xb4\x66\x83\xa5\x62\xd5\x52\xe5\x32\xe0"
+            "\x16\x24\xe5\x16\xdd\xc6\x0f\x27\xd5\x15\xd6\xe0\x56"
+            "\xf1\xe0\x55\x10\xf1\xe0\x45\x20\xe0\x35\xe0\x64\xe0"
+            "\x64\xe0\x64\xe0\x73\xe0\x73\xe0\x73\xe0\x73\xe0\x73"
+            "\xe0\x73\xe0\x73\xe0\x73\xc2\x72\xe2\x62\xe0\x12\x61"
+            "\xe0\x12\x61\xe0\x22\x51\xe0\x32\x4e\x07\x3e\x08\x2e"
+            "\x08\x2f\x1e\x09\x22" }  },
+      /* --- pixel bitmap for cmr450 char#51 3 --- */
+      {  51,76384,                      /* character number, location */
+         41, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 25,   42, 3,163, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x88\xe0\x1d\xa4\x75\x83\xb4\x63\xd4\x54\xc5\x36\xb6"
+            "\x10\xf2\x17\xb5\x10\x25\xb6\x43\xc6\x10\xf1\xe0\x45"
+            "\x20\xe0\x35\xe0\x64\xe0\x64\xe0\x63\xe0\x63\xe0\x29"
+            "\xe0\x94\xe0\x94\xe0\x84\xe0\x84\xe0\x75\xe0\x66\xe0"
+            "\x65\x10\xf1\xe0\x56\x24\xd6\x16\xc6\x0f\x18\xb6\x08"
+            "\xb5\x18\xa6\x17\xb5\x35\xc5\x42\xd5\x63\xa5\x84\x75"
+            "\xad\xe0\x18\x99" }  },
+      /* --- pixel bitmap for cmr450 char#52 4 --- */
+      {  52,77388,                      /* character number, location */
+         42, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 27,   42, 3,162, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x52\x60\xf1\xe0\x43\x60\xe0\x34\x60\xf1\xe0\x25"
+            "\x60\xe0\x16\xe0\x67\xe0\x61\x15\xe0\x52\x15\xe0\x42"
+            "\x25\xe0\x41\x35\xe0\x32\x35\xe0\x22\x45\xe0\x21\x55"
+            "\xe0\x12\x55\xe2\x65\xe1\x75\xd2\x75\xc2\x85\xc1\x95"
+            "\xb2\x95\xa2\xa5\xa1\xb5\x92\xb5\x82\xc5\x81\xd5\x72"
+            "\xd5\x62\xe5\x6f\x1e\x0d\xf7\xe0\x25\x60\xe0\x17\x50"
+            "\xf1\xae\x03" }  },
+      /* --- pixel bitmap for cmr450 char#53 5 --- */
+      {  53,78504,                      /* character number, location */
+         41, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 25,   42, 3,147, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x32\xe0\x12\x65\x94\x7e\x03\x8e\x02\x9e\x01\xad\xc2"
+            "\x26\xc0\xf7\x32\xe0\x60\x32\x56\xc2\x32\x53\xa2\x12"
+            "\x93\x83\xb4\x72\xd4\x62\xd5\xe0\x74\x20\xf1\xe0\x55"
+            "\x10\xf2\xe0\x56\x31\xe0\x16\x15\xdc\xd6\x0f\x17\xc6"
+            "\x06\xd5\x15\xe5\x10\xf1\x12\xe0\x15\x20\x22\xd5\x53"
+            "\xc4\x73\xa4\x94\x65\xcb\xe0\x27\xa5" }  },
+      /* --- pixel bitmap for cmr450 char#54 6 --- */
+      {  54,79482,                      /* character number, location */
+         41, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 25,   42, 3,161, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xd6\xe0\x2b\xd4\x63\xa4\xa2\x84\x95\x64\x96\x63\xa6"
+            "\x53\xb6\x44\xb6\x43\xd4\x20\xf1\x24\xe0\x50\x15\xe0"
+            "\x50\xf1\x14\xe0\x60\x14\x56\x95\x41\x62\x75\x31\x83"
+            "\x55\x21\xa3\x45\x11\xc3\x3f\x16\xd4\x26\xe4\x15\xe0"
+            "\x14\x1f\x35\xe0\x15\xf3\x14\xe0\x15\xf1\x24\xe4\x10"
+            "\x24\xd5\x43\xd4\x54\xc3\x73\xb4\x83\x94\xa4\x55\xcb"
+            "\xe0\x27\x93" }  },
+      /* --- pixel bitmap for cmr450 char#55 7 --- */
+      {  55,80488,                      /* character number, location */
+         42, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 27,   43, 3,137, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x22\xe0\xb4\xe0\x70\xf1\x2e\x0b\x2e\x0a\x2e\x0b\x2e"
+            "\x0a\x33\xe0\x42\x30\xf1\x12\xe0\x42\x42\xe0\x42\x52"
+            "\xe0\x32\x62\xe0\x22\xe0\xb2\xe0\xa2\x80\xf1\xe0\x22"
+            "\x90\xe0\x12\xe0\xa3\xe0\xa2\xb0\xf1\xd3\xb0\xf1\xc3"
+            "\xc0\xf1\xb4\xc0\xa5\xc0\xf1\xa4\xd0\xf4\x95\xd0\xf7"
+            "\x86\xd0\x94\xe4" }  },
+      /* --- pixel bitmap for cmr450 char#56 8 --- */
+      {  56,81466,                      /* character number, location */
+         41, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 25,   42, 3,175, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x97\xe0\x2c\xb4\x74\x93\xb3\x72\xe3\x53\xe0\x13\x42"
+            "\xe0\x24\x10\xf2\x13\xe0\x33\x10\x14\xe0\x23\x25\xe0"
+            "\x13\x26\xd3\x47\xb2\x58\x93\x69\x63\x89\x42\xbd\xda"
+            "\xe0\x2b\xe0\x2b\xc2\x1b\x92\x5a\x72\x7a\x52\xa8\x43"
+            "\xc7\x23\xe6\x23\xe0\x25\x0f\x13\xe0\x44\x0f\x23\xe0"
+            "\x53\x03\xe0\x52\x23\xe0\x42\x23\xe0\x33\x33\xe0\x22"
+            "\x44\xe2\x64\xb3\x94\x74\xbc\xe0\x27\x92" }  },
+      /* --- pixel bitmap for cmr450 char#57 9 --- */
+      {  57,82464,                      /* character number, location */
+         41, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 25,   42, 3,161, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x97\xe0\x2b\xd4\x54\xa4\x93\x93\xb3\x73\xc4\x54\xd3"
+            "\x45\xd4\x34\xe4\x34\xe5\x1f\x35\xe0\x14\x1f\x35\xe0"
+            "\x15\x14\xe0\x15\x14\xe6\xf1\x24\xd6\x33\xc1\x15\x43"
+            "\xa1\x25\x53\x81\x35\x72\x61\x45\x96\x54\x10\xf1\xe0"
+            "\x64\x10\xe0\x55\x10\xf1\xe0\x54\x20\x24\xd4\x36\xb4"
+            "\x46\xb3\x56\xa4\x56\xa3\x65\xa3\x82\xb3\xa3\x74\xcb"
+            "\xe0\x27\xc4" }  },
+      /* --- pixel bitmap for cmr450 char#58 : --- */
+      {  58,108130,                     /* character number, location */
+         27, 5,    0, 5,      /* topleft row,col, and botleft row,col */
+          {  7,   27, 3,31, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x23\x35\x1f\x27\x15\x33\x20\xfc\x70\x23\x35\x1f\x27"
+            "\x15\x33\x23" }  },
+      /* --- pixel bitmap for cmr450 char#59 ; --- */
+      {  59,108813,                     /* character number, location */
+         27, 5,  -12, 5,      /* topleft row,col, and botleft row,col */
+          {  7,   39, 3,57, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x23\x35\x1f\x27\x15\x33\x20\xfc\x70\x23\x35\x16\x1f"
+            "\x17\x16\x23\x11\xf3\x61\xf2\x51\x10\xf1\x41\x20\x31"
+            "\x51\x51\x50" }  },
+      /* --- pixel bitmap for cmr450 char#60 (noname) --- */
+      {  60,99911,                      /* character number, location */
+         31, 5,  -13, 5,      /* topleft row,col, and botleft row,col */
+          {  7,   44, 3,41, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x23\x35\x1f\x27\x15\x33\x20\xf5\x70\x32\x20\xf9\x23"
+            "\x20\xfa\x15\x1f\x67\x15\x33\x23" }  },
+      /* --- pixel bitmap for cmr450 char#61 = --- */
+      {  61,109527,                     /* character number, location */
+         24, 3,    7, 3,      /* topleft row,col, and botleft row,col */
+          { 42,   17, 2,10, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xff\x02\x00\x2a\xff\x0a\x2a\xff\x02\x2a" }  },
+      /* --- pixel bitmap for cmr450 char#62 (noname) --- */
+      {  62,87189,                      /* character number, location */
+         31, 3,  -13, 3,      /* topleft row,col, and botleft row,col */
+          { 23,   44, 3,115, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x93\xe0\x55\xa0\xf2\x77\x90\x85\xe0\x53\xb0\xf5\xe0"
+            "\x90\xf3\xa2\xb0\xf4\x92\xc0\x83\xc0\xf1\x82\xd0\x73"
+            "\xd0\xf1\x63\xe0\x53\xe0\x53\xe0\x45\xe0\x44\xe0\x44"
+            "\xe0\x45\xd4\x1f\x35\xc6\x05\xd4\x24\xe0\x12\x34\xd2"
+            "\x44\xb3\x74\x73\xb9\x84" }  },
+      /* --- pixel bitmap for cmr450 char#63 ? --- */
+      {  63,86185,                      /* character number, location */
+         44, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 23,   44, 3,111, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x79\xb3\x75\x72\xb4\x52\xd4\x32\xe0\x14\x24\xd4\x1f"
+            "\x36\xc5\x14\xd4\xe0\x45\xe0\x44\xe0\x44\xe0\x44\xe0"
+            "\x43\xe0\x53\xe0\x62\xe0\x63\xe0\x53\x90\xf1\xb2\xa0"
+            "\xf8\xa2\xb0\xf5\xe0\x90\x93\xe0\x55\xa0\xf2\x77\x90"
+            "\x85\xe0\x53\xb0" }  },
+      /* --- pixel bitmap for cmr450 char#64 @ --- */
+      {  64,110705,                     /* character number, location */
+         44, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 42,   45, 3,291, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x38\xe0\xe0\x33\x83\xe0\xc2\xe2\xe0\x82\xe0\x42"
+            "\xe0\x51\xe0\x81\xe0\x22\xe0\xa2\xd2\xe0\xc2\xc1\xe0"
+            "\xe1\xb1\xe0\xe0\x21\x92\xc6\xc2\x72\xb3\x52\xb2\x62"
+            "\x93\x82\xa2\x52\x93\xb1\xa2\x42\x83\xc2\x92\x32\x84"
+            "\xd5\x62\x22\x83\xe0\x14\x62\x10\xf1\x12\x74\xe0\x14"
+            "\x62\x12\x83\xe0\x24\x72\x0f\x62\x74\xe0\x24\x72\x02"
+            "\x83\xe0\x24\x72\xf1\x12\x74\xe0\x14\x72\x12\x83\xe0"
+            "\x14\x71\x22\x84\xd5\x62\x32\x83\xc6\x62\x32\x93\xb1"
+            "\x14\x61\x52\x93\x82\x33\x52\x52\xb3\x52\x53\x32\x72"
+            "\xc6\x85\xa1\xe0\xe0\xe1\xe0\xe0\xd2\xe0\xe0\xd2\xe0"
+            "\xe0\xe1\xe0\xe4\xa2\xe0\x95\xe2\xe0\x45\xe0\x53\xa7"
+            "\xe0\xbb\xe3" }  },
+      /* --- pixel bitmap for cmr450 char#65 A --- */
+      {  65, 1092,                      /* character number, location */
+         45, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 43,   45, 3,226, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\xe0\x63\xe0\x60\xf2\xe0\x55\xe0\x50\xf1\xe0\x47"
+            "\xe0\x40\xe0\x39\xe0\x30\xf1\xe0\x32\x16\xe0\x30\xe0"
+            "\x23\x17\xe0\x20\xf1\xe0\x22\x36\xe0\x20\xe0\x13\x37"
+            "\xe0\x10\xf1\xe0\x12\x56\xe0\x10\xe2\x67\xe0\xf1\xe2"
+            "\x76\xe0\xd2\x87\xd0\xf1\xd2\x96\xd0\xf2\xc2\xb6\xc0"
+            "\xf2\xb2\xd6\xb0\xf1\xae\x09\xa0\xa2\xe0\x16\xa0\xf1"
+            "\x92\xe0\x36\x90\x83\xe0\x37\x80\xf1\x82\xe0\x56\x80"
+            "\x73\xe0\x57\x70\xf1\x72\xe0\x76\x70\x63\xe0\x77\xb4"
+            "\xe0\x86\xa7\xe0\x58\x5f\x1e\xbe\x04" }  },
+      /* --- pixel bitmap for cmr450 char#66 B --- */
+      {  66, 2564,                      /* character number, location */
+         43, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 39,   43, 3,197, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0e\x0d\xce\x0e\x02\xe7\xe6\xd6\xe0\x25\xc6\xe0\x35"
+            "\xb6\xe0\x45\xa6\xe0\x46\x96\xe0\x55\x30\xf5\x66\xe0"
+            "\x56\x20\x66\xe0\x55\x96\xe0\x45\xa6\xe0\x36\xa6\xe0"
+            "\x26\xb6\xe0\x15\xd6\xd6\xee\x09\xe0\x26\xe6\xd6\xe0"
+            "\x26\xb6\xe0\x45\xa6\xe0\x55\x96\xe0\x56\x20\xf1\x66"
+            "\xe0\x66\x10\xf5\x66\xe0\x76\x66\xe0\x75\x76\xe0\x66"
+            "\x76\xe0\x65\x86\xe0\x56\x86\xe0\x46\x96\xe0\x27\x97"
+            "\xe8\x5e\x0e\x04\x7e\x0e\x01\xa6" }  },
+      /* --- pixel bitmap for cmr450 char#67 C --- */
+      {  67, 3597,                      /* character number, location */
+         44, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 39,   45, 3,221, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x48\xc1\xee\x01\x82\xc7\x84\x53\xa6\xd3\x43\x95"
+            "\xe0\x32\x24\x85\xe0\x57\x75\xe0\x76\x65\xe0\x95\x55"
+            "\xe0\xa5\xf1\x45\xe0\xc4\x35\xe0\xe3\x26\xe0\xe3\x25"
+            "\xe0\xe0\x13\xf2\x16\xe0\xe0\x22\x15\xe0\xe0\x5f\x86"
+            "\xe0\xe0\x50\x15\xe0\xe0\x66\xe0\xe0\x40\xf1\x16\xe0"
+            "\xe0\x22\x25\xe0\xe0\x22\x26\xe0\xe0\x12\x35\xe0\xe2"
+            "\x10\xf1\x45\xe0\xd2\x10\x55\xe0\xb2\x85\xe0\x93\x95"
+            "\xe0\x82\xb5\xe0\x62\xd5\xe0\x33\xe0\x16\xe3\xe0\x47"
+            "\x84\xe0\x8e\x01\xe0\xe8\xde" }  },
+      /* --- pixel bitmap for cmr450 char#68 D --- */
+      {  68, 4851,                      /* character number, location */
+         43, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 43,   43, 3,197, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0e\x0e\xe0\x1e\x0e\x02\xe0\x47\xe6\xe0\x36\xe0\x26"
+            "\xe0\x16\xe0\x45\xe6\xe0\x55\xd6\xe0\x74\xc6\xe0\x75"
+            "\xb6\xe0\x85\x40\xf1\x66\xe0\x95\x30\xf1\x66\xe0\xa5"
+            "\x20\x66\xe0\xa6\x10\xf2\x66\xe0\xb5\x10\xf9\x66\xe0"
+            "\xb6\xf1\x66\xe0\xb5\x10\x66\xe0\xa6\x10\xf1\x66\xe0"
+            "\xa5\x20\xf1\x66\xe0\x95\x30\x66\xe0\x85\xa6\xe0\x84"
+            "\xb6\xe0\x75\xb6\xe0\x65\xc6\xe0\x45\xe6\xe0\x35\xe7"
+            "\xe7\xae\x0e\x03\xce\x0e\xe0\x13" }  },
+      /* --- pixel bitmap for cmr450 char#69 E --- */
+      {  69, 6392,                      /* character number, location */
+         43, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 38,   43, 3,199, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\x0e\x0e\x07\x30\x57\xe0\x27\x96\xe0\x45\x96\xe0"
+            "\x64\x20\xf1\x66\xe0\x73\x20\xf3\x66\xe0\x82\x20\xf1"
+            "\x66\xe0\x92\x10\x66\xc2\x92\x10\xf2\x66\xc2\xc0\xf1"
+            "\x66\xb3\xc0\x66\x95\xc0\xf1\x6e\x06\xc0\x66\x95\xc0"
+            "\xf1\x66\xb3\xc0\xf1\x66\xc2\xc0\xf1\x66\xc2\xa2\x66"
+            "\xe0\xa2\xf2\x66\xe0\x92\x10\xf1\x66\xe0\x83\x10\x66"
+            "\xe0\x82\x20\xf1\x66\xe0\x73\x20\x66\xe0\x64\x86\xe0"
+            "\x46\x77\xe0\x18\x3f\x1e\x0e\x07\x30" }  },
+      /* --- pixel bitmap for cmr450 char#70 F --- */
+      {  70, 7793,                      /* character number, location */
+         43, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 36,   43, 3,137, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\x0e\x0e\x06\x20\x57\xe0\x17\x86\xe0\x44\x86\xe0"
+            "\x54\x10\xf1\x66\xe0\x63\x10\xf3\x66\xe0\x72\x10\xf1"
+            "\x66\xe0\x82\x66\xc2\x82\xf2\x66\xc2\xa0\xf1\x66\xb3"
+            "\xa0\x66\x95\xa0\xf1\x6e\x06\xa0\x66\x95\xa0\xf1\x66"
+            "\xb3\xa0\xf3\x66\xc2\xa0\xfa\x66\xe0\xa0\x58\xe0\x9f"
+            "\x1e\x06\xe0\x26" }  },
+      /* --- pixel bitmap for cmr450 char#71 G --- */
+      {  71, 9048,                      /* character number, location */
+         44, 4,   -1, 4,      /* topleft row,col, and botleft row,col */
+          { 42,   45, 3,249, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x38\xc1\xe0\x4e\x82\xe0\x27\x74\x53\xe6\xc3\x43"
+            "\xd5\xe0\x22\x24\xc4\xe0\x57\xb4\xe0\x76\xa4\xe0\x95"
+            "\x95\xe0\x95\x85\xe0\xb4\x75\xe0\xc4\x75\xe0\xd3\x66"
+            "\xe0\xd3\x65\xe0\xe3\x40\xf1\x16\xe0\xe0\x12\x40\x15"
+            "\xe0\xe0\x22\x55\xe0\xe0\x8f\x76\xe0\xe0\x86\xe0\x4e"
+            "\x04\x15\xe0\x4e\x04\x16\xe0\xa7\x40\xf1\x16\xe0\xb6"
+            "\x40\x25\xe0\xb6\x66\xe0\xa6\x75\xe0\xa6\x76\xe0\x96"
+            "\x85\xe0\x96\x95\xe0\x86\xa5\xe0\x76\xb4\xe0\x76\xc5"
+            "\xe0\x47\xd5\xe0\x23\x14\xe6\xd3\x33\xe0\x27\x84\x52"
+            "\xe0\x4e\x01\x81\xe0\x79\xe0\x20" }  },
+      /* --- pixel bitmap for cmr450 char#72 H --- */
+      {  72,10397,                      /* character number, location */
+         43, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 43,   43, 3,84, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf1\x0e\x04\x7e\x04\x58\xe0\x38\x50\xfe\x66\xe0\x56"
+            "\x60\xf1\x66\xe0\x56\x60\xf1\x6e\x0e\x03\x60\xfe\x66"
+            "\xe0\x56\x60\xf2\x66\xe0\x56\x60\x58\xe0\x38\x5f\x1e"
+            "\x04\x7e\x04" }  },
+      /* --- pixel bitmap for cmr450 char#73 I --- */
+      {  73,11244,                      /* character number, location */
+         43, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   43, 3,36, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf1\x0e\x04\x58\x50\xfe\x66\x60\xfe\x66\x60\xf6\x66"
+            "\x60\x58\x5f\x1e\x04" }  },
+      /* --- pixel bitmap for cmr450 char#74 J --- */
+      {  74,12124,                      /* character number, location */
+         43, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 28,   44, 3,71, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf1\x9e\x05\xe0\x28\x40\xfe\xe0\x36\x50\xfd\xe0\x36"
+            "\x50\x24\xb6\x66\xa6\x5f\x28\x96\x58\x95\x76\x96\x75"
+            "\xa5\x92\xb5\xb2\x95\xd3\x64\xe0\x47\xe0" }  },
+      /* --- pixel bitmap for cmr450 char#75 K --- */
+      {  75,13411,                      /* character number, location */
+         43, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 44,   43, 3,280, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\x0e\x04\xbe\x10\x58\xe0\x48\xb6\xe0\x65\xd6\xe0"
+            "\x63\xe0\x16\xe0\x53\xe0\x26\xe0\x43\xe0\x36\xe0\x33"
+            "\xe0\x46\xe0\x23\xe0\x56\xe0\x13\xe0\x66\xe3\xe0\x76"
+            "\xd3\xe0\x86\xc3\xe0\x96\xb3\xe0\xa6\xa3\xe0\xb6\x93"
+            "\xe0\xc6\x83\xe0\xd6\x74\xe0\xd6\x66\xe0\xc6\x58\xe0"
+            "\xb6\x49\xe0\xb6\x33\x26\xe0\xa6\x23\x37\xe0\x96\x13"
+            "\x56\xe0\x98\x86\xe0\x87\x97\xe0\x76\xb6\xe0\x76\xc6"
+            "\xe0\x66\xc7\xe0\x56\xd6\xe0\x56\xe6\xe0\x46\xe7\xe0"
+            "\x36\xe0\x16\xe0\x36\xe0\x26\xe0\x26\xe0\x27\xe0\x16"
+            "\xe0\x36\xe0\x16\xe0\x46\xe6\xe0\x47\xd6\xe0\x56\xd6"
+            "\xe0\x57\xb8\xe0\x3a\x4f\x1e\x04\x9e\x03" }  },
+      /* --- pixel bitmap for cmr450 char#76 L --- */
+      {  76,14514,                      /* character number, location */
+         43, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 34,   43, 3,97, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf1\x0e\x06\xe0\x58\xe0\x70\xfe\x66\xe0\x80\xf8\x66"
+            "\xe0\x80\xf2\x66\xe0\x62\x66\xe0\x53\xf2\x66\xe0\x52"
+            "\x10\xf1\x66\xe0\x43\x10\xf1\x66\xe0\x34\x10\x66\xe0"
+            "\x25\x76\xe6\x77\xc8\x2f\x1e\x0e\x04\x23" }  },
+      /* --- pixel bitmap for cmr450 char#77 M --- */
+      {  77,15928,                      /* character number, location */
+         43, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 51,   43, 3,218, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0c\xe0\xde\x0b\xe0\xbd\x58\xe0\xb8\xb7\xe0\xb7\x60"
+            "\xf2\x62\x15\xe0\x92\x15\x60\xf1\x62\x25\xe0\x72\x25"
+            "\x60\xf2\x62\x35\xe0\x52\x35\x60\xf2\x62\x45\xe0\x32"
+            "\x45\x60\xf1\x62\x55\xe0\x12\x55\x60\xf2\x62\x65\xd2"
+            "\x65\x60\xf2\x62\x75\xb2\x75\x60\xf2\x62\x85\x92\x85"
+            "\x60\xf1\x62\x95\x72\x95\x60\xf2\x62\xa5\x52\xa5\x60"
+            "\xf2\x62\xb5\x32\xb5\x60\xf1\x62\xc5\x12\xc5\x60\xf2"
+            "\x62\xd6\xd5\x60\x54\xd4\xe5\xa6\xc4\xd7\x5e\x84\x8e"
+            "\x0e\x03\x92\x9e\x03" }  },
+      /* --- pixel bitmap for cmr450 char#78 N --- */
+      {  78,17338,                      /* character number, location */
+         43, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 43,   43, 3,291, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0c\xe0\x3e\x0d\xe0\x2e\x68\xe0\x48\x99\xe0\x54\xb2"
+            "\x16\xe0\x62\xc2\x17\xe0\x52\xc2\x27\xe0\x42\xc2\x36"
+            "\xe0\x42\xc2\x46\xe0\x32\xc2\x47\xe0\x22\xc2\x56\xe0"
+            "\x22\xc2\x66\xe0\x12\xc2\x67\xe2\xc2\x76\xe2\xc2\x86"
+            "\xd2\xc2\x87\xc2\xc2\x96\xc2\xc2\xa6\xb2\xc2\xa7\xa2"
+            "\xc2\xb7\x92\xc2\xc6\x92\xc2\xc7\x82\xc2\xd7\x72\xc2"
+            "\xe6\x72\xc2\xe0\x16\x62\xc2\xe0\x17\x52\xc2\xe0\x26"
+            "\x52\xc2\xe0\x36\x42\xc2\xe0\x37\x32\xc2\xe0\x46\x32"
+            "\xc2\xe0\x56\x22\xc2\xe0\x57\x12\xc2\xe0\x69\x60\xf1"
+            "\x62\xe0\x78\x60\x62\xe0\x87\xc2\xe0\x96\x60\xf1\x62"
+            "\xe0\xa5\x60\x54\xe0\xa4\x98\xe0\x93\x6e\xe0\x63\x6e"
+            "\xe0\x72\x60" }  },
+      /* --- pixel bitmap for cmr450 char#79 O --- */
+      {  79,18353,                      /* character number, location */
+         44, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 42,   45, 3,215, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x38\xe0\xe0\x34\x64\xe0\xb4\xc4\xe0\x74\xe4\xe0"
+            "\x44\xe0\x44\xe0\x14\xe0\x64\xd4\xe0\x84\xb5\xe0\x85"
+            "\xa4\xe0\xa4\x95\xe0\xa5\x40\xf1\x35\xe0\xc5\x30\xf1"
+            "\x25\xe0\xe5\x20\xf1\x16\xe0\xe6\x10\xf1\x15\xe0\xe0"
+            "\x25\x1f\x96\xe0\xe0\x26\xf2\x16\xe0\xe6\x10\x25\xe0"
+            "\xe5\x46\xe0\xc6\x20\xf1\x35\xe0\xc5\x30\x45\xe0\xa5"
+            "\x94\xe0\xa4\xa5\xe0\x85\xb5\xe0\x65\xd5\xe0\x45\xe0"
+            "\x15\xe0\x25\xe0\x44\xe4\xe0\x74\xc4\xe0\xa5\x65\xe0"
+            "\xe0\x28\xe0\x32" }  },
+      /* --- pixel bitmap for cmr450 char#80 P --- */
+      {  80,19620,                      /* character number, location */
+         43, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 37,   43, 3,133, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0e\x0c\xbe\x0e\x01\xd7\xd6\xc6\xe0\x16\xa6\xe0\x35"
+            "\x96\xe0\x45\x86\xe0\x46\x10\xf1\x66\xe0\x55\x10\xf4"
+            "\x66\xe0\x56\x66\xe0\x55\x76\xe0\x46\x10\xf1\x66\xe0"
+            "\x45\x20\x66\xe0\x35\x96\xe0\x15\xb6\xd6\xce\x08\x90"
+            "\xfe\x66\xe0\xb0\xf2\x66\xe0\xb0\x58\xe0\xaf\x1e\x04"
+            "\xe0\x56" }  },
+      /* --- pixel bitmap for cmr450 char#81 Q --- */
+      {  81,20719,                      /* character number, location */
+         44, 3,  -12, 3,      /* topleft row,col, and botleft row,col */
+          { 42,   56, 3,303, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x38\xe0\xe0\x34\x64\xe0\xb4\xc4\xe0\x74\xe4\xe0"
+            "\x44\xe0\x44\xe0\x14\xe0\x64\xd5\xe0\x65\xb5\xe0\x85"
+            "\xa4\xe0\xa4\x95\xe0\xa5\x40\xf1\x35\xe0\xc5\x30\xf1"
+            "\x25\xe0\xe5\x20\xf1\x16\xe0\xe6\x10\xf1\x15\xe0\xe0"
+            "\x25\x1f\x96\xe0\xe0\x26\x15\xe0\xe0\x25\x10\xf1\x16"
+            "\xe0\xe6\x10\xf1\x25\xe0\xe5\x20\xf1\x35\xe0\xc5\x30"
+            "\x45\xa4\xa5\x94\x91\x42\x84\xa5\x71\x71\x65\xb5\x51"
+            "\x81\x55\xd4\x51\x91\x44\xe0\x14\x41\x92\x24\xe0\x44"
+            "\x21\xa5\xe0\x74\x21\x94\xe0\xa6\x55\xc1\xe0\x38\x22"
+            "\xc1\xe0\xd3\xb1\xe0\xe2\xb1\xe0\xe3\x92\xe0\xe3\x83"
+            "\xe0\xe5\x53\xe0\xe0\x1d\xe0\xe0\x2c\xe0\xe0\x2b\xe0"
+            "\xe0\x49\xe0\xe0\x67\xe0\xe0\x85\x50" }  },
+      /* --- pixel bitmap for cmr450 char#82 R --- */
+      {  82,22220,                      /* character number, location */
+         43, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 44,   44, 3,225, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0e\x0b\xe0\x5e\x0e\xe0\x77\xb7\xe0\x66\xe5\xe0\x56"
+            "\xe0\x16\xe0\x36\xe0\x26\xe0\x26\xe0\x35\xe0\x26\xe0"
+            "\x36\xe0\x16\xe0\x45\x90\xf4\x66\xe0\x46\x80\x66\xe0"
+            "\x45\xe0\x16\xe0\x36\xe0\x16\xe0\x35\xe0\x26\xe0\x25"
+            "\xe0\x36\xe0\x15\xe0\x46\xe4\xe0\x66\xb5\xe0\x8e\x05"
+            "\xe0\xb6\xb5\xe0\x86\xd5\xe0\x66\xe5\xe0\x56\xe0\x15"
+            "\xe0\x46\xe0\x16\xb0\xf9\x66\xe0\x26\xa0\x66\xe0\x26"
+            "\x82\xf1\x66\xe0\x35\x82\x58\xe0\x35\x62\x1e\x04\xd4"
+            "\x62\x1e\x04\xe4\x42\xe0\xe0\x87\x35" }  },
+      /* --- pixel bitmap for cmr450 char#83 S --- */
+      {  83,23387,                      /* character number, location */
+         44, 4,   -1, 4,      /* topleft row,col, and botleft row,col */
+          { 27,   45, 3,197, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x88\x91\x7d\x52\x64\x74\x33\x53\xb3\x23\x43\xe6\x33"
+            "\xe0\x25\x24\xe0\x34\x23\xe0\x44\x23\xe0\x53\x1f\x14"
+            "\xe0\x53\x1f\x14\xe0\x62\x15\xe0\x52\x15\xe0\x86\xe0"
+            "\x87\xe0\x69\xe0\x5c\xe0\x2e\x01\xce\x04\xae\x04\xbe"
+            "\x03\xce\x02\xee\xe0\x49\xe0\x77\xe0\x76\xe0\x86\xf1"
+            "\xe0\x85\x0f\x32\xe0\x74\x03\xe0\x67\xe0\x63\x13\xe0"
+            "\x54\x14\xe0\x43\x25\xe0\x33\x26\xe0\x13\x33\x14\xc3"
+            "\x43\x35\x74\x52\x6d\x61\xa7\x90" }  },
+      /* --- pixel bitmap for cmr450 char#84 T --- */
+      {  84,24573,                      /* character number, location */
+         43, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 41,   43, 3,97, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf1\x1e\x0e\x0b\x10\x16\xb6\xa6\x24\xd6\xc4\x23\xe6"
+            "\xd3\x10\xf1\x12\xe0\x16\xe2\x1f\x13\xe0\x16\xe3\x0f"
+            "\x42\xe0\x26\xe0\x12\xfe\xe0\x46\xe0\x30\xfa\xe0\x46"
+            "\xe0\x30\xe0\x38\xe0\x20\xf1\x9e\x0a\x84" }  },
+      /* --- pixel bitmap for cmr450 char#85 U --- */
+      {  85,25709,                      /* character number, location */
+         43, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 43,   44, 3,117, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\x0e\x04\xbe\x58\xe0\x58\x96\xe0\x84\x50\xfe\x66"
+            "\xe0\x92\x60\xfc\x66\xe0\x92\x60\x75\xe0\x92\xd5\xe0"
+            "\x82\xe6\xe0\x72\x70\xf1\x85\xe0\x62\x80\x95\xe0\x42"
+            "\xe0\x55\xe0\x22\xe0\x75\xe3\xe0\x85\xc3\xe0\xb5\x74"
+            "\xe0\xee\xe0\xe0\x48\xe0\x30" }  },
+      /* --- pixel bitmap for cmr450 char#86 V --- */
+      {  86,26877,                      /* character number, location */
+         43, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 45,   44, 3,235, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\x0e\x03\xe0\x1d\x58\xe0\x77\xa6\xe0\xa4\xb7\xe0"
+            "\x93\x60\xf1\x76\xe0\x92\x70\xf1\x86\xe0\x72\x80\x87"
+            "\xe0\x62\x80\xf1\x96\xe0\x52\x90\x97\xe0\x33\x90\xf1"
+            "\xa6\xe0\x32\xa0\xf1\xb6\xe0\x12\xb0\xb7\xe2\xb0\xf1"
+            "\xc6\xd2\xc0\xc7\xb3\xc0\xf1\xd6\xb2\xd0\xf1\xe6\x92"
+            "\xe0\xe7\x73\xe0\xf1\xe0\x16\x72\xe0\x10\xf1\xe0\x26"
+            "\x52\xe0\x20\xe0\x27\x42\xe0\x20\xf1\xe0\x36\x32\xe0"
+            "\x30\xe0\x37\x13\xe0\x30\xf1\xe0\x46\x12\xe0\x40\xf2"
+            "\xe0\x57\xe0\x50\xf2\xe0\x65\xe0\x60\xf1\xe0\x73\xe0"
+            "\x71" }  },
+      /* --- pixel bitmap for cmr450 char#87 W --- */
+      {  87,28463,                      /* character number, location */
+         43, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 62,   44, 3,333, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\x0e\x03\x6e\x03\x8e\x58\xe0\x18\xe0\x18\x87\xe0"
+            "\x36\xe0\x44\x50\xf1\x66\xe0\x36\xe0\x52\x60\x67\xe0"
+            "\x36\xe0\x42\x60\xf1\x76\xe0\x36\xe0\x32\x70\x76\xe0"
+            "\x28\xe0\x22\x70\xf1\x86\xe0\x18\xe0\x12\x80\x86\xe2"
+            "\x26\xe2\x80\xf1\x96\xd2\x26\xd2\x90\x96\xc2\x46\xc2"
+            "\x90\xf1\xa6\xb2\x46\xb2\xa0\xa6\xa3\x47\xa2\xa0\xf1"
+            "\xb6\x92\x66\x92\xb0\xb6\x83\x67\x82\xe0\x87\x72\x86"
+            "\x73\xb0\xf1\xc6\x72\x86\x72\xc0\xc7\x52\xa6\x53\xc0"
+            "\xf1\xd6\x52\xa6\x52\xd0\xd7\x32\xc6\x42\xd0\xf1\xe6"
+            "\x32\xc6\x32\xe0\xe6\x22\xe6\x22\xe0\xf1\xe0\x16\x12"
+            "\xe6\x12\xe0\x10\xe0\x18\xe0\x28\xe0\x10\xf1\xe0\x27"
+            "\xe0\x27\xe0\x20\xe0\x26\xe0\x46\xe0\x20\xf2\xe0\x35"
+            "\xe0\x45\xe0\x30\xf2\xe0\x43\xe0\x63\xe0\x40" }  },
+      /* --- pixel bitmap for cmr450 char#88 X --- */
+      {  88,29834,                      /* character number, location */
+         43, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 45,   43, 3,290, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\x1e\x04\x8e\x01\x30\x79\xd9\xe0\x17\xe0\x15\xe0"
+            "\x47\xe0\x23\xe0\x67\xe0\x12\xe0\x87\xd2\xe0\x97\xc3"
+            "\xe0\xa7\xb2\xe0\xc6\xa2\xe0\xd7\x83\xe0\xe7\x72\xe0"
+            "\xe0\x26\x62\xe0\xe0\x37\x43\xe0\xe0\x47\x32\xe0\xe0"
+            "\x66\x22\xe0\xe0\x7a\xe0\xe0\x88\xe0\xe0\xa6\xe0\xe0"
+            "\xb7\xe0\xe0\xb7\xe0\xe0\xb6\xe0\xe0\xa8\xe0\xe0\x99"
+            "\xe0\xe0\x72\x26\xe0\xe0\x63\x27\xe0\xe0\x52\x47\xe0"
+            "\xe0\x32\x57\xe0\xe0\x23\x67\xe0\xe0\x12\x87\xe0\xd2"
+            "\x97\xe0\xc3\xa7\xe0\xb2\xc6\xe0\xa2\xd7\xe0\x83\xe7"
+            "\xe0\x72\xe0\x26\xe0\x62\xe0\x37\xe0\x43\xe0\x47\xe0"
+            "\x23\xe0\x66\xe0\x15\xe0\x57\xc8\xe0\x39\x6f\x1e\x02"
+            "\xbe\x04" }  },
+      /* --- pixel bitmap for cmr450 char#89 Y --- */
+      {  89,31144,                      /* character number, location */
+         43, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 45,   43, 3,195, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\x0e\x03\xe0\x1d\x59\xe0\x68\x97\xe0\x94\xc7\xe0"
+            "\x82\xe7\xe0\x73\xe0\x17\xe0\x62\xe0\x36\xe0\x53\xe0"
+            "\x37\xe0\x42\xe0\x57\xe0\x22\xe0\x67\xe0\x13\xe0\x77"
+            "\xe2\xe0\x97\xc3\xe0\x97\xc2\xe0\xb7\xa2\xe0\xd6\xa2"
+            "\xe0\xd7\x82\xe0\xe0\x17\x63\xe0\xe0\x17\x62\xe0\xe0"
+            "\x37\x43\xe0\xe0\x47\x32\xe0\xe0\x57\x22\xe0\xe0\x7a"
+            "\xe0\x30\xf1\xe0\x58\xe0\x40\xfe\xe0\x66\xe0\x50\xe0"
+            "\x58\xe0\x40\xf1\xee\x04\xd7" }  },
+      /* --- pixel bitmap for cmr450 char#90 Z --- */
+      {  90,32267,                      /* character number, location */
+         43, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 32,   43, 3,225, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\x2e\x0e\x02\x29\xe6\x36\xe0\x27\x35\xe0\x36\x44"
+            "\xe0\x36\x53\xe0\x37\x43\xe0\x46\x53\xe0\x36\x63\xe0"
+            "\x27\x62\xe0\x36\x72\xe0\x27\x72\xe0\x26\x82\xe0\x16"
+            "\xe0\xb7\xe0\xb6\xe0\xb6\xe0\xb7\xe0\xb6\xe0\xb6\xe0"
+            "\xb7\xe0\xb6\xe0\xb7\xe0\xb6\xe0\xb6\xe0\xb7\xe0\xb6"
+            "\xe2\x96\xe0\x12\x87\xe0\x12\x86\xe0\x22\x76\xe0\x32"
+            "\x67\xe0\x23\x66\xe0\x33\x57\xe0\x33\x56\xe0\x42\x56"
+            "\xe0\x43\x47\xe0\x43\x46\xe0\x44\x36\xe0\x45\x27\xe0"
+            "\x36\x26\xe0\x19\x1f\x1e\x0e\x03\x12" }  },
+      /* --- pixel bitmap for cmr450 char#91 [ --- */
+      {  91,111630,                     /* character number, location */
+         47, 6,  -16, 6,      /* topleft row,col, and botleft row,col */
+          { 10,   63, 3,24, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf2\x0a\x0f\xe3\x7f\xe3\x7f\xe3\x7f\xb3\x7f\x2a" }  },
+      /* --- pixel bitmap for cmr450 char#92 (noname) --- */
+      {  92,131419,                     /* character number, location */
+         43, 9,   24, 9,      /* topleft row,col, and botleft row,col */
+          { 20,   19, 3,73, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x61\xb1\x61\xb1\x61\xb1\x61\xb1\x40\xf1\x21\xb1\x50"
+            "\xf2\x11\xb1\x6f\x21\xb1\x71\x23\x61\x23\x21\x15\x51"
+            "\x15\x1f\x18\x48\x17\x57\x25\x75\x43\x93\x2e" }  },
+      /* --- pixel bitmap for cmr450 char#93 ] --- */
+      {  93,112404,                     /* character number, location */
+         47, 1,  -16, 1,      /* topleft row,col, and botleft row,col */
+          { 10,   63, 3,24, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf2\x0a\xfe\x73\xfe\x73\xfe\x73\xfb\x73\x0f\x2a" }  },
+      /* --- pixel bitmap for cmr450 char#94 \^ --- */
+      {  94,118887,                     /* character number, location */
+         43, 7,   34, 7,      /* topleft row,col, and botleft row,col */
+          { 16,    9, 3,30, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x81\xe3\xc5\xa3\x13\x83\x33\x63\x53\x43\x73\x23\x93"
+            "\x12\xb2" }  },
+      /* --- pixel bitmap for cmr450 char#95 (noname) --- */
+      {  95,119374,                     /* character number, location */
+         43, 5,   36, 5,      /* topleft row,col, and botleft row,col */
+          {  7,    7, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x1c\xdf\xff\xff\xf7\x71\x00" }  },
+      /* --- pixel bitmap for cmr450 char#96 (noname) --- */
+      {  96,113098,                     /* character number, location */
+         43, 4,   24, 4,      /* topleft row,col, and botleft row,col */
+          {  8,   19, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x40\x20\x10\x08\x04\x04\x02\x02\x02\x01\x01\x01\x39"
+            "\x7d\xff\xff\xfe\x7c\x38" }  },
+      /* --- pixel bitmap for cmr450 char#97 a --- */
+      {  97,33499,                      /* character number, location */
+         29, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 28,   30, 3,133, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x77\xe0\x53\x53\xe0\x12\x93\xd2\xb3\xc4\xa3\xa6\x94"
+            "\x96\xa3\x80\xf1\x16\xa4\x70\x24\xb4\x70\xf2\xe0\x34"
+            "\x70\xc9\xe0\x15\x44\xd4\x74\xb4\x94\xa4\xa4\x95\xa4"
+            "\x85\xb4\x85\xb4\x52\x0f\x25\xc4\x52\x0f\x15\xb1\x13"
+            "\x52\x15\x91\x23\x52\x24\x81\x43\x32\x45\x42\x66\x86"
+            "\x94\x36" }  },
+      /* --- pixel bitmap for cmr450 char#98 b --- */
+      {  98,34601,                      /* character number, location */
+         43, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 31,   44, 3,153, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x54\xe0\x8f\x19\xe0\x80\x45\xe0\x80\xfa\x54\xe0\x80"
+            "\x54\x57\xe0\x14\x32\x63\xd4\x12\xa3\xb6\xc3\xa5\xe3"
+            "\x95\xe4\x30\xf1\x54\xe0\x24\x20\x54\xe0\x25\x10\xf1"
+            "\x54\xe0\x34\x10\xf6\x54\xe0\x35\xf1\x54\xe0\x34\x10"
+            "\x54\xe0\x25\x64\xe0\x24\x74\xe0\x23\x85\xe4\x85\xd4"
+            "\x93\x12\xc3\xa3\x22\x94\xb2\x52\x54\xe0\x86\xb0" }  },
+      /* --- pixel bitmap for cmr450 char#99 c --- */
+      {  99,35480,                      /* character number, location */
+         29, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 24,   30, 3,95, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xa8\xe3\x63\xa3\xa3\x73\xd2\x54\xb4\x10\xf1\x34\xb6"
+            "\xf1\x24\xc6\x15\xd4\x24\xe0\x5f\x75\xe0\x50\xf1\x14"
+            "\xe0\x50\x15\xe0\x40\xf1\x24\xe0\x22\x34\xe2\x54\xd2"
+            "\x63\xc2\x83\xa2\xb3\x62\xe0\x17\x71" }  },
+      /* --- pixel bitmap for cmr450 char#100 d --- */
+      { 100,36539,                      /* character number, location */
+         43, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 31,   44, 3,155, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x84\x50\xf1\xe0\x39\x50\xe0\x75\x50\xfa\xe0\x84"
+            "\x50\xb6\x54\xd4\x53\x24\xb4\x92\x14\xa3\xc6\x94\xd5"
+            "\x84\xe0\x14\x83\xe0\x24\x74\xe0\x24\x65\xe0\x24\x50"
+            "\xf1\x14\xe0\x34\x5f\x65\xe0\x34\x50\xf1\x14\xe0\x34"
+            "\x50\x15\xe0\x24\x50\xf1\x24\xe0\x24\x50\x34\xe5\x93"
+            "\xe5\xa3\xc1\x15\xa3\xa1\x29\x83\x62\x39\xa7\x54\x52" }  },
+      /* --- pixel bitmap for cmr450 char#101 e --- */
+      { 101,37405,                      /* character number, location */
+         29, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 24,   30, 3,117, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xa6\xe0\x13\x54\xb3\x83\x93\xa3\x73\xb4\x54\xc3\x20"
+            "\xf1\x24\xd4\x10\x15\xe3\x10\xf1\x14\xe0\x14\x0f\x15"
+            "\xe0\x14\x0e\x0a\x0f\x45\xe0\x50\xf1\x14\xe0\x50\x15"
+            "\xe0\x64\xe0\x22\x33\xe0\x22\x34\xe2\x53\xe2\x63\xc2"
+            "\x83\xa2\xb3\x62\xe0\x17\x74" }  },
+      /* --- pixel bitmap for cmr450 char#102 f --- */
+      { 102,38322,                      /* character number, location */
+         44, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 22,   44, 3,67, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xd6\xe3\x42\xb3\x54\x94\x46\x83\x56\x74\x56\x73\x74"
+            "\x74\x82\x20\xf8\x64\xcf\x1e\x03\x50\xfe\x64\xc0\xf6"
+            "\x64\xc0\x56\xb0\xf1\x1e\x01\x60" }  },
+      /* --- pixel bitmap for cmr450 char#103 g --- */
+      { 103,39625,                      /* character number, location */
+         28, 2,  -14, 2,      /* topleft row,col, and botleft row,col */
+          { 28,   42, 3,171, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x96\x75\x83\x43\x32\x24\x53\x84\x44\x43\xa3\x44\x34"
+            "\xa4\x42\x43\xc3\x70\xf5\x24\xc4\x60\x33\xc3\xa4\xa4"
+            "\xb3\xa3\xd3\x83\xd1\x23\x43\xe0\x11\x46\xe0\x22\xe0"
+            "\xc1\xe0\xa0\xf2\x32\xe0\x90\x33\xe0\xce\x01\xee\x03"
+            "\xce\x04\x82\xd6\x53\xe0\x34\x33\xe0\x53\x33\xe0\x54"
+            "\x1f\x43\xe0\x73\x10\x13\xe0\x53\x42\xe0\x52\x63\xe0"
+            "\x13\x83\xd3\xb4\x74\xe0\x29\xa0" }  },
+      /* --- pixel bitmap for cmr450 char#104 h --- */
+      { 104,40710,                      /* character number, location */
+         43, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 31,   43, 3,92, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x54\xe0\x8f\x19\xe0\x80\x45\xe0\x80\xfa\x54\xe0\x80"
+            "\x54\x66\xe0\x14\x42\x53\xd4\x31\x83\xc4\x21\x94\xb4"
+            "\x11\xb3\x60\xf2\x55\xc4\x50\xfe\x54\xd4\x50\xf1\x54"
+            "\xd4\x50\x46\xb6\x4f\x1e\x3e" }  },
+      /* --- pixel bitmap for cmr450 char#105 i --- */
+      { 105,41525,                      /* character number, location */
+         43, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 13,   43, 3,52, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x53\x95\x40\xf2\x37\x30\x45\x93\x50\xf7\xd0\x54\x4f"
+            "\x19\x40\x45\x40\xfe\x54\x40\xf5\x54\x40\x45\x4f\x1d" }  },
+      /* --- pixel bitmap for cmr450 char#106 j --- */
+      { 106,42379,                      /* character number, location */
+         43,-3,  -13,-3,      /* topleft row,col, and botleft row,col */
+          { 16,   56, 3,65, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xb3\xc5\x10\xf2\x97\xa5\xc3\x20\xf7\xe0\x20\xb5\xf1"
+            "\x79\xb5\xfe\xc4\xfd\xc4\x14\x7a\x6a\x63\x16\x54\x15"
+            "\x63\x33\x63\x53\x43\x86\x60" }  },
+      /* --- pixel bitmap for cmr450 char#107 k --- */
+      { 107,43571,                      /* character number, location */
+         43, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 30,   43, 3,156, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x54\xe0\x7f\x19\xe0\x70\x45\xe0\x70\xfb\x54\xe0\x70"
+            "\xf1\x54\x8c\x10\x54\x98\x94\xa4\xc4\xa3\xd4\x93\xe4"
+            "\x82\xe0\x24\x72\xe0\x34\x62\xe0\x44\x43\xe0\x54\x34"
+            "\xe0\x54\x25\xe0\x54\x13\x13\xe0\x47\x24\xe0\x35\x54"
+            "\xe0\x24\x73\xe0\x24\x83\xe0\x14\x84\xe4\x93\xe4\xa3"
+            "\xd4\xa4\xc4\xb3\xc4\xc3\xb4\xc4\x96\xb5\x4f\x1e\x5b" }  },
+      /* --- pixel bitmap for cmr450 char#108 l --- */
+      { 108,44284,                      /* character number, location */
+         43, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 14,   43, 3,36, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x54\x5f\x19\x50\x45\x50\xfe\x54\x50\xfe\x54\x50\xf5"
+            "\x54\x50\x46\x4f\x1e" }  },
+      /* --- pixel bitmap for cmr450 char#109 m --- */
+      { 109,45649,                      /* character number, location */
+         28, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 48,   28, 3,92, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x54\x66\xb6\xa9\x42\x53\x72\x53\x89\x31\x83\x51\x83"
+            "\xb5\x21\x94\x31\x94\xb4\x11\xb3\x21\xb3\x60\xf2\x55"
+            "\xc5\xc4\x50\xfe\x54\xd4\xd4\x50\xf1\x54\xd4\xd4\x50"
+            "\x46\xb6\xb6\x4f\x1e\x3e\x3e" }  },
+      /* --- pixel bitmap for cmr450 char#110 n --- */
+      { 110,46758,                      /* character number, location */
+         28, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 31,   28, 3,64, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x54\x66\xa9\x42\x53\x89\x31\x83\xb5\x21\x94\xb4\x11"
+            "\xb3\x60\xf2\x55\xc4\x50\xfe\x54\xd4\x50\xf1\x54\xd4"
+            "\x50\x46\xb6\x4f\x1e\x3e" }  },
+      /* --- pixel bitmap for cmr450 char#111 o --- */
+      { 111,47535,                      /* character number, location */
+         29, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 27,   30, 3,109, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xa7\xe0\x43\x53\xe3\x93\xb3\xb3\x93\xd3\x74\xd4\x63"
+            "\xe0\x13\x54\xe0\x14\x35\xe0\x15\x10\xf1\x14\xe0\x34"
+            "\x1f\x85\xe0\x35\x14\xe0\x34\x25\xe0\x15\x10\xf1\x24"
+            "\xe0\x14\x20\x34\xd4\x73\xd3\x93\xb3\xb3\x93\xd4\x54"
+            "\xe0\x37\xa3" }  },
+      /* --- pixel bitmap for cmr450 char#112 p --- */
+      { 112,48681,                      /* character number, location */
+         28, 2,  -12, 2,      /* topleft row,col, and botleft row,col */
+          { 31,   40, 3,147, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x54\x57\xa9\x32\x63\x89\x12\x94\xa7\xb4\xa5\xd4\x95"
+            "\xe4\x84\xe0\x15\x74\xe0\x24\x20\xf1\x54\xe0\x25\x10"
+            "\x54\xe0\x34\x10\xf6\x54\xe0\x35\x54\xe0\x34\x10\xf1"
+            "\x54\xe0\x25\x10\x54\xe0\x24\x74\xe0\x14\x85\xe4\x85"
+            "\xd4\x96\xb4\xa4\x12\x94\xb4\x32\x54\xd4\x56\xb0\xf7"
+            "\x54\xe0\x80\x46\xe0\x7f\x1e\xe0\x36" }  },
+      /* --- pixel bitmap for cmr450 char#113 q --- */
+      { 113,49809,                      /* character number, location */
+         28, 2,  -12, 2,      /* topleft row,col, and botleft row,col */
+          { 31,   40, 3,156, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xb6\x72\xd4\x52\x52\xb4\x91\x33\xa4\xb1\x23\x94\xc2"
+            "\x13\x50\xf1\x34\xe5\x50\x24\xe0\x24\x50\xf1\x15\xe0"
+            "\x24\x50\x14\xe0\x34\x5f\x65\xe0\x34\x50\x14\xe0\x34"
+            "\x50\xf1\x15\xe0\x24\x50\x24\xe0\x24\x75\xe0\x14\x84"
+            "\xe5\x94\xc6\xa4\xb1\x14\xb4\x82\x24\xd3\x62\x34\xe0"
+            "\x17\x54\x50\xf7\xe0\x84\x50\xe0\x76\x40\xf1\xe0\x3e" }  },
+      /* --- pixel bitmap for cmr450 char#114 r --- */
+      { 114,50772,                      /* character number, location */
+         28, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 21,   28, 3,65, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x44\x65\x28\x42\x33\x18\x31\x45\x44\x21\x55\x53\x21"
+            "\x55\x53\x11\x73\x10\xf1\x53\x11\xb0\xfe\x54\xc0\xf1"
+            "\x54\xc0\x46\xbf\x1e\x01\x65" }  },
+      /* --- pixel bitmap for cmr450 char#115 s --- */
+      { 115,51763,                      /* character number, location */
+         29, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 21,   30, 3,109, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x68\x41\x63\x62\x22\x43\xa4\x42\xc3\x32\xd3\x23\xd3"
+            "\x2f\x13\xe2\x2f\x14\xd2\x20\x15\xe0\x28\xec\xad\xad"
+            "\xac\xe7\xe0\x35\x12\xe7\xe0\x16\xe0\x23\x0f\x23\xe0"
+            "\x13\x04\xe2\x14\xd3\x15\xc2\x23\x12\xa2\x32\x33\x63"
+            "\x41\x68\x66" }  },
+      /* --- pixel bitmap for cmr450 char#116 t --- */
+      { 116,52666,                      /* character number, location */
+         38, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 20,   39, 3,63, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf3\x82\xa0\xf2\x73\xa0\xf1\x64\xa0\x55\xe6\xde\x02"
+            "\x1e\x05\x10\xfd\x64\xa0\xf6\x64\x82\x73\x81\x84\x62"
+            "\x93\x61\xb3\x41\xe5\x47" }  },
+      /* --- pixel bitmap for cmr450 char#117 u --- */
+      { 117,53655,                      /* character number, location */
+         28, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 31,   29, 3,71, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x54\xd4\x5f\x19\x89\x50\x45\xc5\x50\xfe\x54\xd4\x50"
+            "\xf2\x54\xd4\x50\xf1\x54\xc5\x50\x63\xb1\x14\xb4\xa1"
+            "\x15\xb3\x91\x29\x84\x52\x39\xa7\x54\x53" }  },
+      /* --- pixel bitmap for cmr450 char#118 v --- */
+      { 118,54631,                      /* character number, location */
+         27, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 31,   28, 3,99, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf1\x0d\x7b\x46\xc6\x84\xe4\x94\xe3\x50\xf1\x64\xd2"
+            "\x60\x65\xb3\x60\xf1\x74\xb2\x70\xf1\x84\x92\x80\x84"
+            "\x83\x80\xf1\x94\x72\x90\xf2\xa4\x52\xa0\xf1\xb4\x32"
+            "\xb0\xf2\xc4\x12\xc0\xf2\xd5\xd0\xf1\xe3\xe2" }  },
+      /* --- pixel bitmap for cmr450 char#119 w --- */
+      { 119,55963,                      /* character number, location */
+         27, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 43,   28, 3,205, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\x0c\x3c\x5b\x45\xa5\xa6\x75\xb3\xc4\x40\xf1\x54"
+            "\xb4\xc2\x50\x55\xa4\xb3\xb4\xa5\xa2\xc4\x92\x13\xa2"
+            "\xc5\x82\x13\x93\xd4\x82\x14\x82\xe4\x72\x33\x82\xe5"
+            "\x62\x33\x73\xe0\x14\x62\x34\x62\xe0\x24\x52\x53\x62"
+            "\xe0\x34\x42\x53\x52\xe0\x44\x42\x54\x42\xe0\x44\x32"
+            "\x73\x42\xe0\x54\x22\x73\x32\xe0\x64\x22\x74\x22\xe0"
+            "\x64\x12\x93\x22\xe0\x76\x93\x12\xe0\x86\x96\xe0\x85"
+            "\xb5\xb0\xf1\xc4\xb4\xc0\xc3\xd3\xe0\xb2\xd2\xd7" }  },
+      /* --- pixel bitmap for cmr450 char#120 x --- */
+      { 120,57084,                      /* character number, location */
+         27, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 31,   27, 3,130, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\x0c\x7b\x10\x56\x97\xa4\xb4\xd4\xa2\xe0\x15\x83"
+            "\xe0\x24\x73\xe0\x44\x53\xe0\x64\x42\xe0\x75\x22\xe0"
+            "\x94\x13\xe0\xa6\xe0\xc4\xe0\xe4\xe0\xc6\xe0\xa7\xe0"
+            "\x93\x24\xe0\x82\x44\xe0\x62\x55\xe0\x42\x74\xe0\x33"
+            "\x84\xe0\x13\xa4\xe2\xc4\xb4\xc5\x87\xb6\x4f\x1b\x8c" }  },
+      /* --- pixel bitmap for cmr450 char#121 y --- */
+      { 121,58237,                      /* character number, location */
+         27, 1,  -13, 1,      /* topleft row,col, and botleft row,col */
+          { 31,   40, 3,167, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\x0d\x7b\x46\xc6\x84\xe4\x94\xe3\x50\xf1\x64\xd2"
+            "\x60\xf1\x74\xb2\x70\x74\xa3\x70\xf1\x84\x92\x80\xf1"
+            "\x94\x72\x90\x95\x53\x90\xf1\xa4\x52\xa0\xf1\xb4\x32"
+            "\xb0\xb5\x13\xb0\xf1\xc4\x12\xc0\xf2\xd5\xd0\xf1\xe3"
+            "\xe0\xf1\xe2\xe0\x10\xd3\xe0\xe2\xe0\x42\x92\xe0\x2f"
+            "\x16\x62\xe0\x3f\x16\x52\xe0\x45\x52\xe0\x62\x62\xe0"
+            "\x82\x42\xe0\xb4\xe0\x96" }  },
+      /* --- pixel bitmap for cmr450 char#122 z --- */
+      { 122,59292,                      /* character number, location */
+         27, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 23,   27, 3,111, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x2e\x07\x25\xb4\x33\xc5\x33\xc4\x42\xc4\x43\xb4\x52"
+            "\xb5\x52\xb4\x62\xa4\x72\x95\xe0\x44\xe0\x44\xe0\x44"
+            "\xe0\x45\xe0\x44\xe0\x44\xe0\x44\xa2\x65\xa2\x64\xb2"
+            "\x54\xc2\x45\xb3\x44\xc2\x44\xd2\x34\xd3\x25\xc4\x24"
+            "\xb6\x1e\x08\x10" }  },
+      /* --- pixel bitmap for cmr450 char#123 (noname) --- */
+      { 123,132087,                     /* character number, location */
+         17, 0,   16, 0,      /* topleft row,col, and botleft row,col */
+          { 31,    1, 2, 2, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x00\x1f" }  },
+      /* --- pixel bitmap for cmr450 char#124 (noname) --- */
+      { 124,132907,                     /* character number, location */
+         17, 0,   16, 0,      /* topleft row,col, and botleft row,col */
+          { 62,    1, 2, 2, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x00\x3e" }  },
+      /* --- pixel bitmap for cmr450 char#125 (noname) --- */
+      { 125,120061,                     /* character number, location */
+         43, 8,   32, 8,      /* topleft row,col, and botleft row,col */
+          { 18,   11, 3,43, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x53\x73\xf1\x44\x64\xf1\x34\x64\x10\x24\x64\x43\x73"
+            "\x30\xf1\x13\x73\x43\x73\x52\x82\x62" }  },
+      /* --- pixel bitmap for cmr450 char#126 \~ --- */
+      { 126,120773,                     /* character number, location */
+         42, 5,   36, 5,      /* topleft row,col, and botleft row,col */
+          { 21,    6, 3,29, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x54\xb1\x46\x91\x42\x34\x61\x41\x64\x32\x41\x96\x41"
+            "\xb4\x51" }  },
+      /* --- pixel bitmap for cmr450 char#127 (noname) --- */
+      { 127,121472,                     /* character number, location */
+         43, 6,   36, 6,      /* topleft row,col, and botleft row,col */
+          { 19,    7, 3,23, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x23\x93\x35\x75\x1f\x27\x57\x15\x75\x33\x93\x26" }  },
+      /* --- trailer  --- */
+      { -99, -999,  0,0,0,0, { 0,0,0,0, (pixbyte *)"\0" }  }
+   } ;
+
+
+/* --- size=10 for .600gf ---
+ * mf '\mode=preview; mag=magstep(-8.04680493988053835544); input cmr10'
+ * --------------------------------------------------------------------- */
+/* --- fontdef for cmr600 --- */
+static	chardef  cmr600[] =
+   {
+      /* --- pixel bitmap for cmr600 char#0 \Gamma --- */
+      {   0,62764,                      /* character number, location */
+         57, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 47,   57, 3,125, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\x0e\x0e\x0e\x03\x20\x89\xe0\x59\xb7\xe0\x96\xb7"
+            "\xe0\xa6\xa7\xe0\xb5\xa7\xe0\xc4\x10\xf1\x97\xe0\xd3"
+            "\x10\xf3\x97\xe0\xe2\x10\x97\xe0\xe3\xf3\x97\xe0\xe0"
+            "\x12\xfe\x97\xe0\xe0\x30\xfe\x97\xe0\xe0\x30\xf3\x97"
+            "\xe0\xe0\x30\x8a\xe0\xe0\x1f\x2e\x0d\xe0\x62" }  },
+      /* --- pixel bitmap for cmr600 char#1 \Delta --- */
+      {   1,63777,                      /* character number, location */
+         60, 4,    0, 4,      /* topleft row,col, and botleft row,col */
+          { 61,   60, 2,224, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xff\x01\x1d\x03\x1d\x00\xff\x01\x1c\x05\x1c\x00\xff"
+            "\x01\x1b\x07\x1b\x00\xff\x01\x1a\x09\x1a\x00\x19\x02"
+            "\x01\x08\x32\x02\x02\x07\x31\x02\x03\x08\x30\x02\x04"
+            "\x07\x2f\x02\x05\x08\x2e\x02\x06\x07\x2d\x02\x07\x08"
+            "\x2c\x02\x08\x07\x2b\x02\x09\x08\x2a\x02\x0a\x07\x29"
+            "\x02\x0b\x08\x28\x02\x0c\x07\x27\x02\x0d\x08\x26\x02"
+            "\x0e\x07\x25\x02\x0f\x08\x24\x02\x10\x07\x23\x02\x11"
+            "\x08\x22\x02\x12\x07\x21\x02\x13\x08\x20\x02\x14\x07"
+            "\x1f\x02\x15\x08\x1e\x02\x16\x07\x1d\x02\x17\x08\x1c"
+            "\x02\x18\x07\x1b\x02\x19\x08\x1a\x02\x1a\x07\x19\x02"
+            "\x1b\x08\x18\x02\x1c\x07\x17\x02\x1d\x08\x16\x02\x1e"
+            "\x07\x15\x02\x1f\x08\x14\x02\x20\x07\x0a\x00\xff\x01"
+            "\x09\x02\x21\x08\x09\x00\xff\x01\x08\x02\x23\x08\x08"
+            "\x00\xff\x01\x07\x02\x25\x08\x07\x00\xff\x01\x06\x02"
+            "\x27\x08\x06\x00\xff\x01\x05\x02\x29\x08\x05\x00\xff"
+            "\x01\x04\x02\x2b\x08\x04\x00\xff\x01\x03\x02\x2d\x08"
+            "\x03\x00\xff\x01\x02\x39\x02\x00\xff\x01\x01\x3b\x01"
+            "\xff\x01\x3d" }  },
+      /* --- pixel bitmap for cmr600 char#2 \Theta --- */
+      {   2,65070,                      /* character number, location */
+         59, 5,   -2, 5,      /* topleft row,col, and botleft row,col */
+          { 55,   61, 3,381, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x99\xe0\xe0\xee\x03\xe0\xe0\x87\x77\xe0\xe0\x46"
+            "\xd6\xe0\xe7\xe0\x17\xe0\xb6\xe0\x56\xe0\x96\xe0\x76"
+            "\xe0\x67\xe0\x97\xe0\x46\xe0\xb6\xe0\x36\xe0\xd6\xe0"
+            "\x17\xe0\xd7\xd7\xe0\xe0\x17\xb8\xe0\xe0\x18\xa7\xe0"
+            "\xe0\x37\x98\xe0\xe0\x38\x87\xe0\xe0\x57\x40\xf1\x38"
+            "\xe0\xe0\x58\x30\xf2\x28\xe0\xe0\x78\x20\xf1\x19\xe0"
+            "\xe0\x79\x10\x18\xe0\xe0\x98\x28\x62\xe0\x72\x68\x1f"
+            "\x19\x62\xe0\x72\x69\x0f\x59\x6e\x0b\x69\x0f\x29\x62"
+            "\xe0\x72\x69\x09\xe0\xe0\x99\x18\xe0\xe0\x98\x10\xf2"
+            "\x19\xe0\xe0\x79\x10\xf1\x28\xe0\xe0\x78\x20\xf2\x38"
+            "\xe0\xe0\x58\x30\x48\xe0\xe0\x38\x97\xe0\xe0\x37\xa8"
+            "\xe0\xe0\x18\xb7\xe0\xe0\x17\x60\xf1\x77\xe0\xd7\x70"
+            "\x87\xe0\xb7\xe0\x37\xe0\x97\xe0\x57\xe0\x77\xe0\x86"
+            "\xe0\x56\xe0\xb6\xe0\x36\xe0\xe6\xd6\xe0\xe0\x47\x77"
+            "\xe0\xe0\x8e\x03\xe0\xe0\xe9\xe0\x92" }  },
+      /* --- pixel bitmap for cmr600 char#3 \Lambda --- */
+      {   3,66270,                      /* character number, location */
+         60, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 52,   60, 3,352, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xb2\xe0\xb0\xf2\xe0\xa4\xe0\xa0\xf3\xe0\x96\xe0"
+            "\x90\xf2\xe0\x88\xe0\x80\xe0\x7a\xe0\x70\xf1\xe0\x72"
+            "\x17\xe0\x70\xe0\x62\x28\xe0\x60\xf1\xe0\x62\x37\xe0"
+            "\x60\xe0\x52\x48\xe0\x50\xf1\xe0\x52\x57\xe0\x50\xe0"
+            "\x42\x68\xe0\x40\xf1\xe0\x42\x77\xe0\x40\xe0\x32\x88"
+            "\xe0\x30\xf1\xe0\x32\x97\xe0\x30\xe0\x22\xa8\xe0\x20"
+            "\xf1\xe0\x22\xb7\xe0\x20\xe0\x12\xc8\xe0\x10\xf1\xe0"
+            "\x12\xd7\xe0\x10\xe2\xe8\xe0\xf1\xe2\xe0\x17\xe0\xd2"
+            "\xe0\x28\xd0\xf1\xd2\xe0\x37\xd0\xc2\xe0\x48\xc0\xf1"
+            "\xc2\xe0\x57\xc0\xb3\xe0\x58\xb0\xf1\xb2\xe0\x77\xb0"
+            "\xa3\xe0\x78\xa0\xf1\xa2\xe0\x97\xa0\x93\xe0\x98\x90"
+            "\xf1\x92\xe0\xb7\x90\x83\xe0\xb8\xe0\x22\xe0\xc8\xe0"
+            "\x22\xe0\xd7\x80\xf1\x73\xe0\xd8\x70\x56\xe0\xc8\xaa"
+            "\xe0\x9b\x5f\x2e\x02\xee\x08" }  },
+      /* --- pixel bitmap for cmr600 char#4 \Xi --- */
+      {   4,67807,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 49,   57, 3,147, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf5\x2e\x0e\x0e\x03\x20\x22\xe0\xe0\xd2\x20\xf1\x13"
+            "\xe0\xe0\xd3\x10\xf3\x12\xe0\xe0\xe0\x12\x10\xf6\xe0"
+            "\xe0\xe0\x70\xf3\x82\xe0\xe0\x12\x80\xf5\x8e\x0e\x05"
+            "\x80\xf3\x82\xe0\xe0\x12\x80\xf8\xe0\xe0\xe0\x7f\x42"
+            "\xe0\xe0\xe0\x32\x0f\x13\xe0\xe0\xe0\x13\x12\xe0\xe0"
+            "\xe0\x12\x10\xf5\x1e\x0e\x0e\x05\x10" }  },
+      /* --- pixel bitmap for cmr600 char#5 \Pi --- */
+      {   5,69122,                      /* character number, location */
+         57, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 58,   57, 2,28, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xff\x02\x00\x3a\x08\x08\x1a\x08\x08\x00\xff\x30\x09"
+            "\x07\x1a\x07\x09\x00\x08\x09\x18\x09\x08\xff\x02\x19"
+            "\x08\x19" }  },
+      /* --- pixel bitmap for cmr600 char#6 \Sigma --- */
+      {   6,70413,                      /* character number, location */
+         57, 5,    0, 5,      /* topleft row,col, and botleft row,col */
+          { 50,   57, 2,181, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xff\x02\x00\x30\x02\x00\x01\x08\x1b\x0c\x03\x09\x1e"
+            "\x08\x04\x09\x1f\x07\x04\x09\x1f\x06\x04\x09\x20\x05"
+            "\x05\x09\x20\x04\x06\x09\x20\x03\x07\x08\x20\x03\x07"
+            "\x09\x1f\x03\x08\x09\x1f\x02\x09\x08\x1f\x02\x09\x09"
+            "\x1e\x03\x09\x09\x1e\x02\xff\x01\x0a\x09\x1d\x02\x0b"
+            "\x09\x1c\x02\x0c\x09\x2a\x08\x2a\x09\x2a\x09\x2a\x08"
+            "\x2a\x09\x2a\x09\x19\x00\xff\x01\x11\x09\x18\x00\x12"
+            "\x09\x2a\x07\x2c\x05\x2d\x04\x2f\x02\x2f\x03\x2e\x03"
+            "\x2e\x03\x2e\x03\x2e\x03\x1d\x02\x0f\x03\x1e\x02\x0e"
+            "\x03\x1f\x02\x0d\x03\x20\x02\x0d\x02\x20\x03\x0c\x03"
+            "\x20\x02\x0c\x03\x21\x02\x0b\x03\x21\x03\x0a\x03\x22"
+            "\x03\x09\x03\x23\x03\x08\x03\x23\x04\x07\x03\x23\x05"
+            "\x06\x03\x23\x06\x05\x03\x23\x07\x05\x02\x22\x09\x04"
+            "\x03\x1e\x0c\x04\x2e\x03\x2f\x02\xff\x01\x30\x02" }  },
+      /* --- pixel bitmap for cmr600 char#7 \Upsilon --- */
+      {   7,71641,                      /* character number, location */
+         59, 5,    0, 5,      /* topleft row,col, and botleft row,col */
+          { 55,   59, 3,217, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x77\xe0\xd7\xcc\xe0\x7c\x9e\xe0\x5e\x7e\x03\xe0\x1e"
+            "\x03\x6e\x04\xde\x04\x5e\x06\xbe\x06\x3e\x07\xbe\x07"
+            "\x25\x89\x99\x85\x24\xb8\x78\xb4\x14\xe6\x76\xe7\xe0"
+            "\x26\x56\xe0\x25\xe0\x36\x56\xe0\x34\xe0\x45\x55\xe0"
+            "\x44\xe0\x55\x35\xe0\x52\xe0\x75\x35\xe0\xe0\xe0\x14"
+            "\x34\xe0\x80\xf1\xe0\x85\x15\xe0\x80\xf2\xe0\x94\x14"
+            "\xe0\x90\xf1\xe0\x99\xe0\x90\xfe\xe0\xa7\xe0\xa0\xfe"
+            "\xe0\xa7\xe0\xa0\xf1\xe0\xa7\xe0\xa0\xe0\x8b\xe0\x80"
+            "\xf2\xde\x0e\x01\xd0" }  },
+      /* --- pixel bitmap for cmr600 char#8 \Phi --- */
+      {   8,72819,                      /* character number, location */
+         57, 5,    0, 5,      /* topleft row,col, and botleft row,col */
+          { 50,   57, 3,233, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\xbe\x0e\x01\xa0\xe0\x6b\xe0\x50\xf7\xe0\x87\xe0"
+            "\x70\xe0\x5c\xe0\xe0\x5e\x08\xe0\xc8\x27\x18\xe0\x87"
+            "\x57\x47\xe0\x47\x77\x67\xe7\x97\x87\xb7\xa7\x97\x97"
+            "\xb7\xa7\x78\xb7\xa8\x30\xf1\x28\xc7\xb8\x20\x19\xc7"
+            "\xb9\x28\xd7\xc8\x1f\x69\xd7\xc9\x18\xd7\xc8\x29\xc7"
+            "\xb9\x10\xf1\x28\xc7\xb8\x20\x38\xb7\xa8\x77\xb7\xa7"
+            "\x97\xa7\x97\xb7\x97\x87\xe7\x77\x67\xe0\x47\x57\x47"
+            "\xe0\x88\x27\x18\xe0\xce\x08\xe0\xe0\x5c\xe0\x50\xf7"
+            "\xe0\x87\xe0\x70\xe0\x6b\xe0\x50\xf2\xbe\x0e\x01\xa0" }  },
+      /* --- pixel bitmap for cmr600 char#9 \Psi --- */
+      {   9,74112,                      /* character number, location */
+         57, 5,    0, 5,      /* topleft row,col, and botleft row,col */
+          { 55,   57, 3,215, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\xde\x0e\x01\xd0\xe0\x8b\xe0\x80\xf6\xe0\xa7\xe0"
+            "\xa8\xe0\x27\xe0\x2e\x04\xe7\xea\x37\xe7\xe7\x68\xd7"
+            "\xd8\x77\xd7\xd7\x88\xc7\xc8\x40\xfb\x57\xc7\xc7\x50"
+            "\xf2\x67\xb7\xb7\x60\x76\xb7\xb6\x70\xf1\x77\xa7\xa7"
+            "\x70\x87\x97\x97\xe0\x36\x97\x96\xe0\x47\x87\x87\xe0"
+            "\x57\x77\x77\xe0\x77\x67\x67\xe0\x97\x57\x57\xe0\xc7"
+            "\x37\x37\xe0\xe0\x27\x17\x17\xe0\xe0\x6e\x05\xe0\xe0"
+            "\xcb\xe0\x80\xf7\xe0\xa7\xe0\xa0\xe0\x8b\xe0\x80\xf2"
+            "\xde\x0e\x01\xd0" }  },
+      /* --- pixel bitmap for cmr600 char#10 \Omega --- */
+      {  10,75455,                      /* character number, location */
+         59, 4,    0, 4,      /* topleft row,col, and botleft row,col */
+          { 52,   59, 3,347, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x7a\xe0\xe0\xae\x04\xe0\xe0\x38\x88\xe0\xc7\xe7"
+            "\xe0\x97\xe0\x27\xe0\x67\xe0\x67\xe0\x37\xe0\x87\xe0"
+            "\x17\xe0\xa7\xd8\xe0\xa8\xb8\xe0\xc8\x50\xf1\x48\xe0"
+            "\xe8\x40\x39\xe0\xe9\x68\xe0\xe0\x28\x30\xf1\x29\xe0"
+            "\xe0\x29\x20\xf9\x19\xe0\xe0\x49\x10\xf2\x29\xe0\xe0"
+            "\x29\x20\xf1\x38\xe0\xe0\x28\x30\xf1\x48\xe0\xe8\x40"
+            "\x57\xe0\xe7\xa8\xe0\xc8\x50\xf1\x67\xe0\xc7\x60\x77"
+            "\xe0\xa7\x70\xf1\x86\xe0\xa6\x80\x95\xe0\xa5\xe0\x46"
+            "\xe0\x86\xe0\x55\xe0\x85\xe0\x74\xe0\x84\xe0\x85\xe0"
+            "\x65\xe0\x94\xe0\x64\xc2\xa4\xe0\x64\xa4\xb4\xe0\x44"
+            "\xb2\x12\xa4\xe0\x44\xa2\x10\xf1\x12\xb3\xe0\x43\xb2"
+            "\x10\x12\xc2\xe0\x42\xc2\x32\xb3\xe0\x23\xb2\x43\xa3"
+            "\xe0\x23\xa3\x20\xf2\x2e\x02\xe0\x2e\x02\x20\xf1\x3e"
+            "\x01\xe0\x2e\x01\x30" }  },
+      /* --- pixel bitmap for cmr600 char#11 \ff --- */
+      {  11,127698,                     /* character number, location */
+         59, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 52,   59, 3,143, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x69\xb7\xe0\x8e\x01\x6b\xe0\x46\x85\x25\x64\xe6"
+            "\xc9\x56\xc6\xca\x58\xa6\xca\x68\x96\xda\x68\x96\xd9"
+            "\x78\x86\xe9\x78\x86\xe8\xa4\x96\xe0\x27\xe0\x20\xfb"
+            "\x76\xe0\x36\xe0\x2f\x2e\x0e\x0e\x03\x70\xfe\x76\xe0"
+            "\x36\xe0\x20\xfd\x76\xe0\x36\xe0\x20\x68\xe0\x18\xe0"
+            "\x10\xf2\x1e\x04\x5e\x06\x83" }  },
+      /* --- pixel bitmap for cmr600 char#12 \fi --- */
+      {  12,129058,                     /* character number, location */
+         59, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 42,   59, 3,138, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x78\xe0\xe0\x2e\xe0\xc7\x74\xe0\x96\xb3\xe0\x66"
+            "\xe3\xe0\x46\xc6\x70\xf1\xa6\xc8\x60\xf1\x96\xd8\x60"
+            "\x86\xe8\xe6\xe0\x16\xe0\x16\xe0\x32\x90\xf8\x86\xe0"
+            "\xe0\x86\xe0\x26\x6f\x2e\x0e\x08\x60\x86\xe8\x60\xfe"
+            "\x86\xe0\x26\x60\xfc\x86\xe0\x26\x60\x78\xe8\x50\xf2"
+            "\x2e\x04\x4e\x04" }  },
+      /* --- pixel bitmap for cmr600 char#13 \fl --- */
+      {  13,130378,                     /* character number, location */
+         59, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 42,   59, 3,118, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x79\xe0\xe0\x1e\x01\x13\xe0\x77\x86\xe0\x65\xa7"
+            "\xe0\x46\xa8\xe0\x36\xb8\xe0\x26\xc8\xe0\x17\xc8\xe0"
+            "\x16\xd8\xe0\x16\xe7\x60\xfc\x86\xe0\x26\x6f\x2e\x0e"
+            "\x08\x60\xfe\x86\xe0\x26\x60\xfd\x86\xe0\x26\x60\x78"
+            "\xe8\x50\xf2\x2e\x04\x4e\x04" }  },
+      /* --- pixel bitmap for cmr600 char#14 \ffi --- */
+      {  14,132163,                     /* character number, location */
+         59, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 65,   59, 3,206, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x78\xe0\x18\xe0\xe0\x3e\x8e\xe0\xd6\x75\x47\x74"
+            "\xe0\x96\xc3\x26\xb3\xe0\x66\xe0\x18\xe3\xe0\x46\xda"
+            "\xc6\x70\xf1\xa6\xda\xc8\x60\xf1\x96\xe9\xd8\x60\x86"
+            "\xe0\x18\xe8\xe6\xe0\x27\xe0\x16\xe0\x16\xe0\x36\xe0"
+            "\x32\x90\xf8\x86\xe0\x36\xe0\xe0\x86\xe0\x36\xe0\x26"
+            "\x6f\x2e\x0e\x0e\x0e\x03\x60\x86\xe0\x36\xe8\x60\xfe"
+            "\x86\xe0\x36\xe0\x26\x60\xfc\x86\xe0\x36\xe0\x26\x60"
+            "\x78\xe0\x18\xe8\x50\xf2\x2e\x04\x5e\x04\x4e\x04" }  },
+      /* --- pixel bitmap for cmr600 char#15 \ffl --- */
+      {  15,134044,                     /* character number, location */
+         59, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 65,   59, 3,172, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x79\xe9\xe0\xe0\x2e\x01\x7e\x01\x13\xe0\x86\x84"
+            "\x47\x86\xe0\x66\xc3\x25\xa7\xe0\x46\xcb\xa8\xe0\x36"
+            "\xcb\xb8\x60\xf1\xa6\xda\xc8\x60\x96\xe9\xd8\xe0\x16"
+            "\xe9\xe7\xe6\xe0\x27\xe0\x26\x60\xfb\x86\xe0\x36\xe0"
+            "\x26\x6f\x2e\x0e\x0e\x0e\x03\x60\xfe\x86\xe0\x36\xe0"
+            "\x26\x60\xfd\x86\xe0\x36\xe0\x26\x60\x78\xe0\x18\xe8"
+            "\x50\xf2\x2e\x04\x5e\x04\x4e\x04" }  },
+      /* --- pixel bitmap for cmr600 char#16 \imath --- */
+      {  16,91542,                      /* character number, location */
+         37, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 18,   37, 3,32, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x66\x6f\x2c\x60\x57\x60\xfe\x66\x60\xfc\x66\x60\x58"
+            "\x5f\x2e\x04" }  },
+      /* --- pixel bitmap for cmr600 char#17 \jmath --- */
+      {  17,92334,                      /* character number, location */
+         37,-4,  -17,-4,      /* topleft row,col, and botleft row,col */
+          { 22,   54, 3,65, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xe0\x17\xf2\x9d\xe8\xfe\xe0\x26\xfe\xe0\x26\xf7\xe0"
+            "\x26\x24\xa6\x16\x9e\x85\x1f\x18\x76\x18\x75\x27\x75"
+            "\x45\x75\x64\x65\x9b\xd7\x94" }  },
+      /* --- pixel bitmap for cmr600 char#18 \gravesym --- */
+      {  18,118535,                     /* character number, location */
+         58, 9,   43, 9,      /* topleft row,col, and botleft row,col */
+          { 15,   15, 3,30, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x14\xaf\x16\x97\x88\x88\x97\x96\xa6\xb5\xb5\xb5\xc4"
+            "\xc3\xd2" }  },
+      /* --- pixel bitmap for cmr600 char#19 \acutesym --- */
+      {  19,119128,                     /* character number, location */
+         58,17,   43,17,      /* topleft row,col, and botleft row,col */
+          { 16,   15, 3,33, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xb4\x10\xf1\xa6\x97\x88\x78\x77\x96\x96\x95\xa5\xa5"
+            "\xa4\xc3\xd2\xd3" }  },
+      /* --- pixel bitmap for cmr600 char#20 \checksym --- */
+      {  20,119777,                     /* character number, location */
+         53,10,   43,10,      /* topleft row,col, and botleft row,col */
+          { 21,   10, 3,37, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x11\xe0\x41\x13\xe3\x15\xa5\x34\x84\x65\x45\x8c\xaa"
+            "\xd6\xe0\x24\xe0\x42\x9f" }  },
+      /* --- pixel bitmap for cmr600 char#21 \brevesym --- */
+      {  21,120417,                     /* character number, location */
+         58, 8,   44, 8,      /* topleft row,col, and botleft row,col */
+          { 26,   14, 3,57, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf2\x02\xe0\x82\x03\xe0\x63\xf1\x12\xe0\x62\x10\x13"
+            "\xe0\x43\x33\xe0\x23\x53\xe3\x64\xc4\x76\x66\xae\xdc"
+            "\xe0\x36\xa3" }  },
+      /* --- pixel bitmap for cmr600 char#22 (noname) --- */
+      {  22,121037,                     /* character number, location */
+         49, 6,   46, 6,      /* topleft row,col, and botleft row,col */
+          { 30,    3, 3, 8, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf2\x0e\x0e\x02" }  },
+      /* --- pixel bitmap for cmr600 char#23 (noname) --- */
+      {  23,121884,                     /* character number, location */
+         60,23,   45,23,      /* topleft row,col, and botleft row,col */
+          { 16,   15, 3,39, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x56\x8a\x53\x63\x20\xf1\x12\xa2\x1f\x42\xc2\xf1\x12"
+            "\xa2\x10\x23\x63\x5a\x86\x53" }  },
+      /* --- pixel bitmap for cmr600 char#24 (noname) --- */
+      {  24,122616,                     /* character number, location */
+         -2,11,  -17,11,      /* topleft row,col, and botleft row,col */
+          { 20,   15, 3,33, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf2\x76\x70\x79\xe8\xe7\xe6\x10\xf2\xe6\xd6\xd7\xa9"
+            "\x2e\x02\x4b\x93" }  },
+      /* --- pixel bitmap for cmr600 char#25 \ss --- */
+      {  25,93513,                      /* character number, location */
+         59, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 38,   60, 3,239, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x38\xe0\xdd\xe0\x96\x56\xe0\x66\x86\xe0\x36\xa6"
+            "\xe0\x16\xb7\x50\xf1\x86\xd7\x40\x76\xe0\x16\x40\xf6"
+            "\x76\xe0\x17\x30\xf1\x76\xe7\x40\x76\xd7\xc6\xd6\xd6"
+            "\xc6\xe6\xb6\xe0\x16\x96\xaf\x1d\x58\xcd\x96\xe0\x36"
+            "\xb5\xe0\x26\xc6\xe6\xd6\xd6\xe6\xc6\xe7\xb6\xe0\x16"
+            "\x40\xf1\x76\xe0\x26\x30\x76\xe0\x27\x96\xe0\x36\x20"
+            "\xf2\x76\xe0\x37\x10\xf9\x76\xe0\x47\x76\xe0\x46\x86"
+            "\x44\x97\x86\x36\x87\x86\x36\x86\x20\xf1\x76\x36\x76"
+            "\x30\x67\x35\x76\x4d\x43\x76\x5d\x53\x55\x7d\x6a\xe0"
+            "\xe0\x26\xb0" }  },
+      /* --- pixel bitmap for cmr600 char#26 \ae --- */
+      {  26,95046,                      /* character number, location */
+         38, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 55,   39, 3,283, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xb8\xe0\x47\xe0\x5e\xdc\xe5\x76\x95\x56\xb3\xc6\x55"
+            "\x95\x95\xc6\x35\xb5\x77\xc6\x15\xc6\x68\xbb\xe6\x58"
+            "\xca\xe6\x58\xc9\xe0\x26\x48\xd8\xe0\x26\x56\xe7\xe0"
+            "\x36\x64\xe0\x17\xe0\x36\x10\xf1\xe0\xa7\xe0\x46\xf2"
+            "\xe0\xa6\xe0\x56\xe0\x4e\x0e\x09\xde\x0e\x0e\xaa\x46"
+            "\xe0\xe0\x48\x96\xe0\xe0\x28\xb6\xe0\xe0\x17\xd6\xe0"
+            "\xe7\xe6\xe0\xd7\xe0\x25\xe0\xc8\xe0\x26\xe0\xb7\xe0"
+            "\x36\xe0\xa8\xe0\x36\xe0\xaf\x17\xe0\x47\xe0\x72\x07"
+            "\xe0\x38\xe0\x6a\xe0\x39\xe0\x52\x18\xe0\x1b\xe0\x33"
+            "\x27\xe5\x26\xe0\x13\x38\xc5\x46\xd3\x58\xa5\x75\xb3"
+            "\x87\x75\xa6\x65\xbe\x01\xed\xe0\x29\xe0\x67\xa3" }  },
+      /* --- pixel bitmap for cmr600 char#27 \oe --- */
+      {  27,96326,                      /* character number, location */
+         38, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 61,   39, 3,305, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe8\xe0\x77\xe0\x8e\xe0\x2c\xe0\x36\x66\xc5\x56\xe5"
+            "\xa5\x95\x95\xc5\xd5\x65\xb5\x96\xe0\x15\x45\xc6\x85"
+            "\xe0\x26\x25\xe6\x66\xe0\x35\x16\xe6\x56\xe0\x5a\xe0"
+            "\x26\x37\xe0\x5a\xe0\x26\x36\xe0\x78\xe0\x36\x27\xe0"
+            "\x78\xe0\x36\x27\xe0\x78\xe0\x46\x16\xe0\x88\xe0\x46"
+            "\x16\xe0\x96\xe0\x56\x0f\x17\xe0\x96\xe0\x56\x0f\x17"
+            "\xe0\x9e\x0e\x03\x0f\x47\xe0\x96\xe0\xb0\x16\xe0\x96"
+            "\xe0\xb0\xf2\x17\xe0\x78\xe0\xa0\x26\xe0\x79\xe0\x72"
+            "\x27\xe0\x5a\xe0\x72\x36\xe0\x5a\xe0\x63\x46\xe0\x35"
+            "\x25\xe0\x52\x65\xe0\x26\x26\xe0\x33\x66\xe0\x15\x46"
+            "\xe0\x13\x95\xd5\x66\xd3\xb5\xa5\xa5\xb3\xd6\x66\xc6"
+            "\x65\xe0\x2e\xe0\x2d\xe0\x78\xe0\x87\xa0" }  },
+      /* --- pixel bitmap for cmr600 char#28 (noname) --- */
+      {  28,97320,                      /* character number, location */
+         44, 3,   -8, 3,      /* topleft row,col, and botleft row,col */
+          { 36,   52, 3,317, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\x42\xe0\xe0\x52\xe0\xe0\x53\xe0\xe0\x52\xe0"
+            "\xe0\x53\xe0\xe0\x52\xe0\x58\x62\xe0\x3e\x32\xe0\x16"
+            "\x68\xe0\x15\xa6\xe4\xe4\xd4\xe0\x15\xb4\xe0\x26\x95"
+            "\xe0\x12\x15\x75\xe0\x13\x25\x65\xe0\x12\x35\x55\xe0"
+            "\x13\x45\x45\xe0\x12\x55\x36\xe2\x66\x25\xe0\x12\x75"
+            "\x25\xe2\x85\x16\xd3\x8c\xd2\x9c\xc3\x9c\xc2\xa6\x0f"
+            "\x16\xb2\xb6\x06\xa2\xcc\x93\xcc\x92\xdc\x83\xd6\x15"
+            "\x82\xe5\x25\x72\xe0\x15\x26\x62\xe6\x35\x52\xe0\x15"
+            "\x45\x43\xe0\x15\x55\x32\xe0\x15\x74\x23\xe0\x14\x85"
+            "\x12\xe0\x15\x96\xe0\x15\xb5\xe5\xe4\xc4\xe0\x18\x66"
+            "\xe0\x22\x2e\xe0\x32\x68\xe0\x62\xe0\xe0\x52\xe0\xe0"
+            "\x53\xe0\xe0\x52\xe0\xe0\x53\xe0\xe0\x52\xe0\xe0\x52"
+            "\xe0\xe0\x43" }  },
+      /* --- pixel bitmap for cmr600 char#29 \AE --- */
+      {  29,99318,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 70,   57, 3,491, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\xe0\x5e\x0e\x0e\x04\x50\xe0\xc2\x29\xe0\x39\xe0"
+            "\xe0\x32\x46\xe0\x76\xe0\xe0\x22\x56\xe0\x95\x40\xf1"
+            "\xe0\xb2\x56\xe0\xa4\x40\xf1\xe0\xa2\x66\xe0\xb3\x40"
+            "\xe0\x93\x66\xe0\xc2\x40\xf1\xe0\x92\x76\xe0\xc2\x40"
+            "\xe0\x82\x86\xe0\xc2\xe0\xc2\x86\xe0\xc3\xe0\xb2\x86"
+            "\xe0\xd2\x30\xf1\xe0\x72\x96\xe0\xd2\x30\xe0\x63\x96"
+            "\xe0\x22\x92\x30\xf1\xe0\x62\xa6\xe0\x22\xe0\xf2\xe0"
+            "\x52\xb6\xe0\x22\xe0\xf1\xe0\x42\xc6\xe0\x13\xe0\xe0"
+            "\x33\xc6\xe4\xe0\xe0\x32\xd6\xc6\xe0\xe0\x3e\x0e\x0b"
+            "\xe0\xf1\xe0\x2e\x0e\x0c\xe0\xe0\x22\xe6\xc6\xe0\xe0"
+            "\x12\xe0\x16\xe4\xe0\xf1\xe0\x12\xe0\x16\xe0\x13\xe0"
+            "\xf1\xe2\xe0\x26\xe0\x22\xc2\xd3\xe0\x26\xe0\x22\xc2"
+            "\xd2\xe0\x36\xe0\x22\xb3\xd2\xe0\x36\xe0\x22\xb2\xd2"
+            "\xe0\x46\xe0\x22\xb2\x10\xf1\xc2\xe0\x46\xe0\xe0\x12"
+            "\x10\xb2\xe0\x56\xe0\xe0\x12\xc2\xe0\x56\xe0\xe3\xb3"
+            "\xe0\x56\xe0\xe3\xb2\xe0\x66\xe0\xe2\xc2\xe0\x66\xe0"
+            "\xd3\xb2\xe0\x76\xe0\xd3\xb2\xe0\x76\xe0\xc4\xa3\xe0"
+            "\x76\xe0\xb5\x95\xe0\x66\xe0\xa6\x86\xe0\x66\xe0\x88"
+            "\x6a\xe0\x38\xe0\x4a\x3f\x2e\x03\x9e\x0e\x0d\x30" }  },
+      /* --- pixel bitmap for cmr600 char#30 \OE --- */
+      {  30,101298,                     /* character number, location */
+         59, 6,   -2, 6,      /* topleft row,col, and botleft row,col */
+          { 76,   61, 3,559, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x89\xe0\xe0\xe0\xe0\x8e\x03\xe0\xe0\xe0\xe0\x17"
+            "\x7e\x0e\x0c\xe0\x66\xce\x0e\x0a\xe0\x47\xee\x0e\x09"
+            "\xe0\x36\xe0\x39\xe0\x49\xe0\x26\xe0\x48\xe0\x86\xe7"
+            "\xe0\x67\xe0\x96\xc7\xe0\x77\xe0\xa5\xc7\xe0\x77\xe0"
+            "\xb4\xb7\xe0\x87\xe0\xc3\xa7\xe0\x97\xe0\xc3\x98\xe0"
+            "\x97\xe0\xd2\x97\xe0\xa7\xe0\xd2\x88\xe0\xa7\xe0\xd2"
+            "\x87\xe0\xb7\xe0\xd2\x78\xe0\xb7\xe0\xd3\x68\xe0\xb7"
+            "\xe0\xe2\x30\xf2\x28\xe0\xc7\xe0\x42\x82\x30\xf1\x19"
+            "\xe0\xd6\xe0\x42\xd0\x18\xe0\xe6\xe0\x42\xe8\xe0\xe6"
+            "\xe0\x33\xd9\xe0\xe6\xe0\x33\xd9\xe0\xe6\xe0\x24\xd9"
+            "\xe0\xe6\xe6\xdf\x29\xe0\xee\x0c\xd9\xe0\xe6\xe6\xd9"
+            "\xe0\xe6\xe0\x24\xdf\x19\xe0\xe6\xe0\x33\xd9\xe0\xe6"
+            "\xe0\x42\xda\xe0\xd6\xe0\x42\xd0\xf2\x19\xe0\xd6\xe0"
+            "\x42\xb2\x19\xe0\xc7\xe0\x42\xa3\xf1\x29\xe0\xb7\xe0"
+            "\xe0\x22\x10\x38\xe0\xb7\xe0\xe0\x22\x10\xf1\x39\xe0"
+            "\xa7\xe0\xe0\x22\x10\x48\xe0\xa7\xe0\xe0\x13\x68\xe0"
+            "\x97\xe0\xe0\x13\x68\xe0\x97\xe0\xe0\x12\x88\xe0\x87"
+            "\xe0\xe3\x97\xe0\x87\xe0\xe3\x98\xe0\x77\xe0\xd4\xa8"
+            "\xe0\x67\xe0\xc5\xb8\xe0\x57\xe0\xb6\xc8\xe0\x38\xe0"
+            "\x98\xe7\xe0\x29\xe0\x5a\xe0\x27\xee\x0e\x0b\xe0\x47"
+            "\xbe\x0e\x0c\xe0\x58\x7e\x0e\x0e\xe0\x8e\x03\xe0\xe0"
+            "\xe0\xe0\x69\xe0\xe0\xe0\x30" }  },
+      /* --- pixel bitmap for cmr600 char#31 (noname) --- */
+      {  31,102540,                     /* character number, location */
+         61, 5,   -4, 5,      /* topleft row,col, and botleft row,col */
+          { 55,   65, 3,533, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\xe0\x62\xe0\xe0\xe0\xa3\xe0\xe9\xe0\x12\xe0"
+            "\xbe\x03\xa2\xe0\xa6\x96\x73\xe0\x85\xe0\x15\x52\xe0"
+            "\x75\xe0\x55\x22\xe0\x75\xe0\x78\xe0\x65\xe0\x96\xa0"
+            "\xf1\x95\xe0\xd5\x90\x85\xe0\xe6\xe0\x15\xe0\xe2\x15"
+            "\xd5\xe0\xe3\x25\xb6\xe0\xd3\x36\xa5\xe0\xe2\x55\x96"
+            "\xe0\xd3\x56\x85\xe0\xd3\x75\x76\xe0\xd2\x86\x66\xe0"
+            "\xc3\x86\x56\xe0\xc3\xa6\x46\xe0\xc2\xb6\x46\xe0\xb2"
+            "\xc6\x37\xe0\xa3\xc7\x27\xe0\xa2\xd7\x26\xe0\xa2\xe0"
+            "\x16\x26\xe0\x93\xe0\x16\x17\xe0\x92\xe0\x2e\xe0\x82"
+            "\xe0\x3e\xe0\x73\xe0\x3e\xe0\x72\xe0\x4e\xe0\x62\xe0"
+            "\x5e\xe0\x53\xe0\x5e\xe0\x52\xe0\x6e\xe0\x42\xe0\x7e"
+            "\xe0\x33\xe0\x7e\xe0\x32\xe0\x8e\xe0\x22\xe0\x9e\xe0"
+            "\x13\xe0\x97\x16\xe0\x12\xe0\xa6\x26\xe2\xe0\xb6\x27"
+            "\xc3\xe0\xa7\x27\xc2\xe0\xb7\x36\xb2\xe0\xc6\x46\xa3"
+            "\xe0\xc6\x56\x83\xe0\xc6\x66\x82\xe0\xd6\x66\x73\xe0"
+            "\xd6\x76\x53\xe0\xd6\x95\x52\xe0\xe5\xa6\x33\xe0\xd6"
+            "\xb5\x23\xe0\xe5\xd5\x12\xe0\xe5\xe7\xe0\xe6\xe0\x16"
+            "\xe0\xe5\xe0\x35\xe0\xd5\xe0\x55\xe0\xb5\xe0\x58\xe0"
+            "\x75\xe0\x72\x25\xe0\x55\xe0\x72\x55\xe0\x15\xe0\x83"
+            "\x76\x96\xe0\xa2\xae\x03\xe0\xb2\xe0\x19\xe0\xe3\xe0"
+            "\xe0\xe0\xa2\xe0\xe0\xe0\x6e" }  },
+      /* --- pixel bitmap for cmr600 char#32 (noname) --- */
+      {  32,123136,                     /* character number, location */
+         33, 2,   23, 2,      /* topleft row,col, and botleft row,col */
+          { 19,   10, 3,29, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xe0\x41\xe0\x14\xc7\x99\x79\x7a\x79\x97\xc4\xe0\x11"
+            "\xe0\x42" }  },
+      /* --- pixel bitmap for cmr600 char#33 ! --- */
+      {  33,103459,                     /* character number, location */
+         60, 7,    0, 7,      /* topleft row,col, and botleft row,col */
+          {  9,   60, 3,43, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x33\x47\x1f\x79\xfa\x17\x10\xfa\x25\x20\xfa\x33\x30"
+            "\xf7\x90\x33\x47\x1f\x49\x17\x43\x35" }  },
+      /* --- pixel bitmap for cmr600 char#34 " --- */
+      {  34,135253,                     /* character number, location */
+         58, 3,   33, 3,      /* topleft row,col, and botleft row,col */
+          { 26,   25, 3,87, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x33\xd3\x57\x97\x2f\x19\x79\x1f\x2a\x6a\x19\x79\x33"
+            "\x22\x93\x22\xf3\x82\xe2\x73\xd3\xf1\x72\xe2\x10\x63"
+            "\xd3\x72\xe2\x73\xd3\x72\xe2\x73\xd3\x63\xd3\x63\xd3"
+            "\x63\xd3\x72\xe2\x77" }  },
+      /* --- pixel bitmap for cmr600 char#35 # --- */
+      {  35,105077,                     /* character number, location */
+         58, 5,  -16, 5,      /* topleft row,col, and botleft row,col */
+          { 59,   74, 3,429, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe2\xe0\x32\xa0\xf1\xe0\xd4\xe0\x14\x90\xf1\xe0"
+            "\xc5\xe5\x90\xf1\xe0\xc4\xe0\x14\xa0\xf1\xe0\xb5\xe5"
+            "\xa0\xf2\xe0\xb4\xe0\x14\xb0\xf1\xe0\xa5\xe5\xb0\xf1"
+            "\xe0\xa4\xe0\x14\xc0\xf1\xe0\x95\xe5\xc0\xf1\xe0\x94"
+            "\xe0\x14\xd0\xf1\xe0\x85\xe5\xd0\xf2\xe0\x84\xe0\x14"
+            "\xe0\xe0\x75\xe5\xe0\x1e\x0e\x0e\x0e\x01\x1f\x1e\x0e"
+            "\x0e\x0e\x03\x1e\x0e\x0e\x0e\x01\xe0\x65\xe5\xe0\x20"
+            "\xf2\xe0\x54\xe0\x14\xe0\x30\xf1\xe0\x45\xe5\xe0\x30"
+            "\xf1\xe0\x44\xe0\x14\xe0\x40\xf1\xe0\x35\xe5\xe0\x40"
+            "\xf2\xe0\x34\xe0\x14\xe0\x50\xe0\x25\xe5\xe0\x6e\x0e"
+            "\x0e\x0e\x01\x1f\x1e\x0e\x0e\x0e\x03\x1e\x0e\x0e\x0e"
+            "\x01\xe0\x15\xe5\xe0\x70\xf2\xe4\xe0\x14\xe0\x80\xf1"
+            "\xd5\xe5\xe0\x80\xf1\xd4\xe0\x14\xe0\x90\xf1\xc5\xe5"
+            "\xe0\x90\xf1\xc4\xe0\x14\xe0\xa0\xf1\xb5\xe5\xe0\xa0"
+            "\xf2\xb4\xe0\x14\xe0\xb0\xf1\xa5\xe5\xe0\xb0\xf1\xa4"
+            "\xe0\x14\xe0\xc0\xf1\x95\xe5\xe0\xc0\xf1\x94\xe0\x14"
+            "\xe0\xd0\xa2\xe0\x32\xe0\xe0" }  },
+      /* --- pixel bitmap for cmr600 char#36 $ --- */
+      {  36,87116,                      /* character number, location */
+         62, 5,   -5, 5,      /* topleft row,col, and botleft row,col */
+          { 32,   67, 3,319, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\xe0\x13\xe0\xc9\xe0\x6e\xe0\x3e\x03\xd6\x33\x36"
+            "\xa5\x53\x64\x84\x73\x74\x64\x83\x84\x44\x93\x93\x44"
+            "\x93\xa3\x24\xa3\xb2\x24\xa3\xb3\x13\xb3\x99\xb3\x77"
+            "\x0f\x34\xb3\x68\x05\xa3\x76\x15\xa3\x84\x26\x93\xe0"
+            "\xf1\x16\x83\xe0\x18\x63\xe0\x28\x53\xe0\x2b\x23\xe0"
+            "\x3e\x01\xe0\x4e\x03\xe0\x2e\x04\xe0\x1e\x05\xe0\x1e"
+            "\x04\xe0\x2e\x03\xe0\x3e\x02\xe0\x5e\xe0\x43\x2a\xe0"
+            "\x33\x48\xe0\x33\x67\x10\xf1\xe0\x13\x76\x10\xe0\x13"
+            "\x86\xe0\x13\x95\x24\x93\x9d\x73\x95\x0f\x38\x73\xa4"
+            "\x07\x83\xa9\xa3\xa3\x13\xc3\x94\x22\xc3\x94\x23\xb3"
+            "\x93\x33\xb3\x84\x43\xa3\x74\x63\x93\x65\x64\x83\x55"
+            "\x85\x63\x45\xa6\x43\x26\xde\x03\xe0\x3d\xe0\x88\xc0"
+            "\xf3\xe0\x13\xe0" }  },
+      /* --- pixel bitmap for cmr600 char#37 % --- */
+      {  37,106522,                     /* character number, location */
+         62, 5,   -5, 5,      /* topleft row,col, and botleft row,col */
+          { 59,   67, 3,603, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x96\xe0\xe0\x62\xe0\x1a\xe0\xe0\x34\xd4\x53\xe0\xe0"
+            "\x15\xc4\x73\xe0\xd6\xb4\x93\xe0\xb6\xb4\xb4\xe0\x86"
+            "\xb5\xb5\xe0\x67\xb4\xd7\xe9\xb5\xd3\x16\x8b\xc5\xe2"
+            "\x4e\x26\xc5\xe2\x78\x55\xc5\xe0\x13\xe0\x45\xd5\xe0"
+            "\x22\xe0\x45\xd5\xe0\x22\xe0\x35\xe5\xe0\x22\xe0\x26"
+            "\xe5\xe0\x22\xe0\x25\xe0\x15\xe0\x22\xe0\x15\xe0\x25"
+            "\xe0\x22\xe6\xe0\x25\xe0\x22\xe5\xe0\x35\xe0\x22\xd5"
+            "\xe0\x45\xe0\x22\xc6\xe0\x45\xe0\x13\xc5\xe0\x65\xe2"
+            "\xc5\xe0\x75\xe2\xb6\xe0\x75\xd3\xb5\xe0\x94\xd2\xb5"
+            "\xe0\xa5\xb3\xa6\xe0\xb4\xb2\xb5\xe0\xd4\x93\xa5\xe0"
+            "\xe0\x14\x73\xa6\xe0\xe0\x24\x53\xb5\xe0\xe0\x4a\xb5"
+            "\xe0\xe0\x76\xc6\xe0\xe0\xe0\xb5\xd6\xe0\xe0\x65\xca"
+            "\xe0\xe0\x45\xb4\x53\xe0\xe0\x25\xb4\x73\xe0\xe6\xa4"
+            "\x93\xe0\xd5\xa4\xb2\xe0\xc5\xa5\xb3\xe0\xa6\xa4\xd2"
+            "\xe0\xa5\xa5\xd3\xe0\x85\xb5\xe2\xe0\x76\xb5\xe2\xe0"
+            "\x75\xc4\xe0\x13\xe0\x55\xc5\xe0\x22\xe0\x46\xc5\xe0"
+            "\x22\xe0\x45\xd5\xe0\x22\xe0\x35\xe5\xe0\x22\xe0\x26"
+            "\xe5\xe0\x22\xe0\x25\xe0\x15\xe0\x22\xe0\x15\xe0\x25"
+            "\xe0\x22\xe6\xe0\x25\xe0\x22\xe5\xe0\x35\xe0\x22\xd5"
+            "\xe0\x45\xe0\x22\xd5\xe0\x54\xe0\x13\xc5\xe0\x65\xe2"
+            "\xc6\xe0\x65\xe2\xc5\xe0\x75\xd3\xb5\xe0\x94\xd2\xb6"
+            "\xe0\x95\xb3\xb5\xe0\xb4\xb2\xb5\xe0\xd4\x93\xa6\xe0"
+            "\xe4\x73\xb5\xe0\xe0\x24\x53\xc4\xe0\xe0\x4a\xe2\xe0"
+            "\xe0\x76\x80" }  },
+      /* --- pixel bitmap for cmr600 char#38 & --- */
+      {  38,88608,                      /* character number, location */
+         60, 3,   -2, 3,      /* topleft row,col, and botleft row,col */
+          { 58,   62, 3,545, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x55\xe0\xe0\xe0\x99\xe0\xe0\xe0\x64\x43\xe0\xe0"
+            "\xe0\x35\x63\xe0\xe0\xe0\x24\x82\xe0\xe0\xe0\x15\x82"
+            "\xe0\xe0\xe5\x93\xe0\xe0\x10\xf1\xc5\xa2\xe0\xe0\x10"
+            "\xf1\xb6\xa2\xe0\xe0\x10\xb5\xb2\xe0\xe0\xc6\xa2\xe0"
+            "\xe0\xc6\x93\xe0\xe0\x10\xf1\xb6\x92\xe0\xe0\x20\xb6"
+            "\x83\xe0\xe0\xd6\x73\xe0\xe0\xe6\x72\xe0\xe0\xe0\x16"
+            "\x63\xe0\xe0\xe0\x26\x43\xe0\xe0\xe0\x36\x42\xe0\xe0"
+            "\xe0\x46\x33\xe0\xe0\xe0\x46\x23\xe0\xe0\xe0\x5a\xe0"
+            "\x4e\x04\xd8\xe0\x5e\x04\xd7\xe0\x6e\x04\xd7\xe0\x9b"
+            "\xe0\x37\xe0\xb6\xe0\x76\xe0\xb5\xe0\x78\xe0\xa4\xe0"
+            "\x88\xe0\xa3\xe0\x8a\xe0\x92\xe0\x83\x17\xe0\x83\xe0"
+            "\x73\x37\xe0\x72\xe0\x73\x47\xe0\x63\xe0\x63\x67\xe0"
+            "\x43\xe0\x63\x78\xe0\x32\xe0\x63\x97\xe0\x23\xe0\x54"
+            "\x98\xe3\xe0\x54\xb8\xd2\xe0\x55\xc7\xc3\xe0\x46\xc8"
+            "\xb2\xe0\x46\xe8\x93\xe0\x46\xe0\x17\x83\xe0\x56\xe0"
+            "\x18\x72\xe0\x57\xe0\x28\x53\xe0\x57\xe0\x37\x43\xe0"
+            "\x67\xe0\x47\x23\xe0\x77\xe0\x4b\xe0\x88\xe0\x4a\xe0"
+            "\x52\x18\xe0\x58\xe0\x62\x18\xe0\x67\xe0\x62\x28\xe0"
+            "\x67\xe0\x43\x28\xe0\x59\xe0\x32\x48\xe0\x3b\xe0\x13"
+            "\x58\xe0\x14\x28\xc3\x78\xc4\x58\xa4\x88\x86\x88\x65"
+            "\xae\x05\xbe\x03\xde\x01\xe0\x2c\xe0\x49\xe0\x87\x90" }  },
+      /* --- pixel bitmap for cmr600 char#39 ' --- */
+      {  39,107474,                     /* character number, location */
+         58, 7,   33, 7,      /* topleft row,col, and botleft row,col */
+          { 10,   25, 3,49, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x33\x57\x2f\x19\x1f\x2a\x19\x33\x22\xf3\x82\x73\xf1"
+            "\x72\x10\x63\x72\x73\x72\x73\x63\x63\x63\x72\x70" }  },
+      /* --- pixel bitmap for cmr600 char#40 ( --- */
+      {  40,108088,                     /* character number, location */
+         62, 8,  -20, 8,      /* topleft row,col, and botleft row,col */
+          { 19,   82, 3,190, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x32\xe0\x23\xe0\x13\xe0\x13\xe0\x13\xe0\x13\xe0"
+            "\x14\xe4\x50\xf1\x94\x60\x84\x70\xf1\x74\x80\xf1\x64"
+            "\x90\x55\xe4\xe5\xa0\xf1\x44\xb0\x35\xb0\xf1\x34\xc0"
+            "\xf2\x25\xc0\xf5\x15\xdf\xe5\xef\x25\xe0\xf5\x15\xd0"
+            "\xf2\x25\xc0\xf1\x34\xc0\x35\xb0\xf1\x44\xb0\x45\xe0"
+            "\x14\xe0\x15\x90\xf1\x64\x90\xf1\x74\x80\x84\x70\xf1"
+            "\x94\x60\xa4\xe0\x24\xe0\x23\xe0\x33\xe0\x33\xe0\x33"
+            "\xe0\x33\xe0\x32" }  },
+      /* --- pixel bitmap for cmr600 char#41 ) --- */
+      {  41,108815,                     /* character number, location */
+         62, 5,  -20, 5,      /* topleft row,col, and botleft row,col */
+          { 19,   82, 3,191, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x02\xe0\x33\xe0\x33\xe0\x33\xe0\x33\xe0\x33\xe0\x24"
+            "\xe0\x24\xa0\xf1\x64\x90\x74\x80\xf1\x84\x70\xf1\x94"
+            "\x60\x95\xe0\x14\xe0\x15\x40\xf1\xb4\x40\xb5\x30\xf1"
+            "\xc4\x30\xf2\xc5\x20\xf5\xd5\x10\xfe\xe5\xf2\xe5\xf5"
+            "\xd5\x10\xf2\xc5\x20\xf1\xc4\x30\xb5\x30\xf1\xb4\x40"
+            "\xa5\xe4\xe5\x50\xf1\x94\x60\xf1\x84\x70\x74\x80\xf1"
+            "\x64\x90\x54\xe4\xe0\x13\xe0\x13\xe0\x13\xe0\x13\xe0"
+            "\x13\xe0\x22\xe0\x36" }  },
+      /* --- pixel bitmap for cmr600 char#42 * --- */
+      {  42,109566,                     /* character number, location */
+         62, 5,   26, 5,      /* topleft row,col, and botleft row,col */
+          { 32,   36, 3,145, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xe4\xe0\xe5\xd0\xf4\xe4\xe0\x14\x94\x94\x25\x84"
+            "\x85\x17\x74\x77\x18\x54\x58\x38\x44\x48\x68\x32\x38"
+            "\xa7\x22\x27\xe6\x12\x16\xe0\x4c\xa0\xf1\xd6\xd0\xac"
+            "\xe0\x46\x12\x16\xe7\x22\x27\xa8\x32\x38\x68\x44\x48"
+            "\x38\x54\x58\x17\x74\x77\x15\x84\x85\x24\x94\x94\x10"
+            "\xf4\xe4\xe0\xe5\xd0\xf1\xe4\xe1" }  },
+      /* --- pixel bitmap for cmr600 char#43 + --- */
+      {  43,110358,                     /* character number, location */
+         48, 5,   -6, 5,      /* topleft row,col, and botleft row,col */
+          { 55,   54, 2,29, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x1b\x02\x1a\x00\xff\x17\x1a\x04\x19\x00\x01\x35\x01"
+            "\xff\x01\x37\x01\x35\x01\x00\xff\x17\x1a\x04\x19\x00"
+            "\x1b\x02\x1a" }  },
+      /* --- pixel bitmap for cmr600 char#44 (noname) --- */
+      {  44,111021,                     /* character number, location */
+          9, 7,  -16, 7,      /* topleft row,col, and botleft row,col */
+          { 10,   25, 3,49, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x33\x57\x2f\x19\x1f\x2a\x19\x33\x22\xf3\x82\x73\xf1"
+            "\x72\x10\x63\x72\x73\x72\x73\x63\x63\x63\x72\x7e" }  },
+      /* --- pixel bitmap for cmr600 char#45 (noname) --- */
+      {  45,135836,                     /* character number, location */
+         21, 1,   16, 1,      /* topleft row,col, and botleft row,col */
+          { 22,    5, 3, 6, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf4\x0e\x08" }  },
+      /* --- pixel bitmap for cmr600 char#46 (noname) --- */
+      {  46,111526,                     /* character number, location */
+          9, 7,    0, 7,      /* topleft row,col, and botleft row,col */
+          {  9,    9, 3,13, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x33\x47\x1f\x49\x17\x43\x39" }  },
+      /* --- pixel bitmap for cmr600 char#47 / --- */
+      {  47,112046,                     /* character number, location */
+         62, 5,  -21, 5,      /* topleft row,col, and botleft row,col */
+          { 32,   83, 3,375, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\x12\xe0\xe0\x14\xf1\xe0\xd5\xe0\xd4\x10\xf1"
+            "\xe0\xc5\x10\xe0\xc4\x20\xf1\xe0\xb5\x20\xe0\xb4\x30"
+            "\xf1\xe0\xa5\x30\xe0\xa4\x40\xf1\xe0\x95\x40\xe0\x94"
+            "\x50\xf1\xe0\x85\x50\xf1\xe0\x75\x60\xe0\x74\x70\xf1"
+            "\xe0\x65\x70\xe0\x64\x80\xf1\xe0\x55\x80\xe0\x54\x90"
+            "\xf1\xe0\x45\x90\xe0\x44\xa0\xf1\xe0\x35\xa0\xf1\xe0"
+            "\x25\xb0\xe0\x24\xc0\xf1\xe0\x15\xc0\xe0\x14\xd0\xf1"
+            "\xe5\xd0\xe4\xe0\xf1\xd5\xe0\xd4\xe0\x10\xf1\xc5\xe0"
+            "\x10\xc4\xe0\x20\xf1\xb5\xe0\x20\xf1\xa5\xe0\x30\xa4"
+            "\xe0\x40\xf1\x95\xe0\x40\x94\xe0\x50\xf1\x85\xe0\x50"
+            "\x84\xe0\x60\xf1\x75\xe0\x60\x74\xe0\x70\xf1\x65\xe0"
+            "\x70\xf1\x55\xe0\x80\x54\xe0\x90\xf1\x45\xe0\x90\x44"
+            "\xe0\xa0\xf1\x35\xe0\xa0\x34\xe0\xb0\xf1\x25\xe0\xb0"
+            "\x24\xe0\xc0\xf1\x15\xe0\xc0\x14\xe0\xdf\x15\xe0\xd4"
+            "\xe0\xe0\x12\xe0\xe0\x15" }  },
+      /* --- pixel bitmap for cmr600 char#48 0 --- */
+      {  48,76377,                      /* character number, location */
+         55, 3,   -2, 3,      /* topleft row,col, and botleft row,col */
+          { 36,   57, 3,177, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe8\xe0\xbe\xe0\x66\x66\xe0\x35\xa5\xe0\x15\xc5\xd5"
+            "\xe5\xb5\xe0\x25\x50\xf1\x45\xe0\x45\x40\xf1\x35\xe0"
+            "\x65\x30\xf2\x26\xe0\x66\x20\xf4\x16\xe0\x86\x1f\xe7"
+            "\xe0\x87\x0f\x37\xe0\x87\xf3\x16\xe0\x86\x10\x17\xe0"
+            "\x67\x10\xf2\x26\xe0\x66\x20\x35\xe0\x65\x66\xe0\x46"
+            "\x30\xf1\x45\xe0\x45\x40\x55\xe0\x25\xb5\xe5\xd5\xc5"
+            "\xe0\x15\xa5\xe0\x36\x66\xe0\x6e\xe0\xb8\xe7" }  },
+      /* --- pixel bitmap for cmr600 char#49 1 --- */
+      {  49,77319,                      /* character number, location */
+         55, 8,    0, 8,      /* topleft row,col, and botleft row,col */
+          { 28,   55, 3,60, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xe0\x12\xe0\xa4\xe0\x95\xe0\x77\xe0\x4a\xbe\x03\xba"
+            "\x16\xb7\x46\xb0\xfe\xb6\xb0\xfe\xb6\xb0\xfc\xb6\xb0"
+            "\x9a\x9f\x2e\x0e" }  },
+      /* --- pixel bitmap for cmr600 char#50 2 --- */
+      {  50,78374,                      /* character number, location */
+         55, 4,    0, 4,      /* topleft row,col, and botleft row,col */
+          { 34,   55, 3,255, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xc9\xe0\x8e\x01\xe0\x3e\x05\xe5\x7a\xa4\xd8\x93\xe0"
+            "\x18\x73\xe0\x38\x53\xe0\x58\x33\xe0\x68\x33\xe0\x78"
+            "\x22\xe0\x88\x17\xe0\x48\x18\xe0\x48\x0f\x49\xe0\x38"
+            "\x17\xe0\x48\x33\xe0\x68\xe0\xc8\xf1\xe0\xb8\x10\xe0"
+            "\xb7\xe0\xc8\xe0\xc7\xe0\xc7\xe0\xc8\xe0\xc7\xe0\xc7"
+            "\xe0\xc7\xe0\xd6\xe0\xd6\xe0\xd6\xe0\xd5\xe0\xe5\xe0"
+            "\xe5\xe0\xe5\xe0\xe5\xe0\xe4\xe0\xe0\x14\xe0\xe0\x14"
+            "\xe0\x42\x94\xe0\x52\x93\xe0\x62\x83\xe0\x62\x83\xe0"
+            "\x72\x73\xe0\x82\x63\xe0\x92\x53\xe0\x93\x4e\x0e\x02"
+            "\x3e\x0e\x03\x2e\x0e\x03\x2f\x2e\x0e\x04\x24" }  },
+      /* --- pixel bitmap for cmr600 char#51 3 --- */
+      {  51,79524,                      /* character number, location */
+         55, 4,   -2, 4,      /* topleft row,col, and botleft row,col */
+          { 35,   57, 3,269, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xc9\xe0\xae\xe0\x5e\x04\xe0\x16\x88\xc4\xc8\xa3\xe0"
+            "\x18\x83\xe0\x38\x74\xe0\x28\x67\xe0\x18\x30\xf1\x28"
+            "\xe8\x30\x29\xd8\x30\xf1\x28\xe8\x30\x36\xe0\x18\x83"
+            "\xe0\x28\x30\xf1\xe0\x98\x40\xe0\x97\xe0\xd8\xe0\xd7"
+            "\xe0\xd7\xe0\xd7\xe0\xd6\xe0\xd6\xe0\x8b\xe0\xae\xe0"
+            "\xe0\x37\xe0\xe0\x17\xe0\xe0\x18\xe0\xe8\xe0\xe8\xe0"
+            "\xd9\xe0\xd8\x20\xf1\xe0\xb9\x10\xe0\xc8\x10\xf1\xe0"
+            "\xc9\x33\xe0\x69\x17\xe0\x49\x0f\x39\xe0\x39\x09\xe0"
+            "\x29\x18\xe0\x39\x26\xe0\x48\x33\xe0\x69\x34\xe0\x58"
+            "\x54\xe0\x38\x74\xe0\x18\x95\xc8\xb7\x88\xee\x05\xe0"
+            "\x4e\x01\xe0\x99\xe4" }  },
+      /* --- pixel bitmap for cmr600 char#52 4 --- */
+      {  52,80572,                      /* character number, location */
+         56, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 38,   56, 3,249, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xe0\xc3\x90\xe0\xb4\xe0\xe0\x55\x90\xf1\xe0\x96"
+            "\x90\xe0\x87\x90\xf1\xe0\x78\x90\xe0\x62\x16\xe0\xe3"
+            "\x16\xe0\xe2\x26\xe0\xd2\x36\xe0\xc3\x36\xe0\xb3\x46"
+            "\xe0\xb2\x56\xe0\xa2\x66\xe0\x93\x66\xe0\x92\x76\xe0"
+            "\x82\x86\xe0\x73\x86\xe0\x72\x96\xe0\x62\xa6\xe0\x53"
+            "\xa6\xe0\x43\xb6\xe0\x42\xc6\xe0\x32\xd6\xe0\x23\xd6"
+            "\xe0\x22\xe6\xe0\x12\xe0\x16\xe3\xe0\x16\xe2\xe0\x26"
+            "\xd2\xe0\x36\xc3\xe0\x36\xb3\xe0\x46\xb2\xe0\x56\xa2"
+            "\xe0\x66\x93\xe0\x66\x9f\x2e\x0e\x0a\xfa\xe0\x96\x90"
+            "\xe0\x88\x80\xf2\xe0\x1e\x08\x18" }  },
+      /* --- pixel bitmap for cmr600 char#53 5 --- */
+      {  53,81732,                      /* character number, location */
+         55, 4,   -2, 4,      /* topleft row,col, and botleft row,col */
+          { 34,   57, 3,231, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x52\xe0\x82\x84\xe0\x44\x88\xa7\x9e\x0b\x9e\x0a\xae"
+            "\x09\xbe\x07\xde\x06\xee\x04\xe0\x22\x2b\xe0\xf9\x52"
+            "\xe0\xd0\x52\x78\xe0\x32\x4d\xe0\x12\x34\x75\xd2\x14"
+            "\xa6\xb5\xd6\xa4\xe0\x16\x93\xe0\x35\x92\xe0\x46\x82"
+            "\xe0\x56\xe0\xe6\x20\xf1\xe0\xc7\x10\xe0\xd6\x10\xf3"
+            "\xe0\xd7\x32\xe0\x87\x16\xe0\x67\x0f\x38\xe0\x57\x08"
+            "\xe0\x56\x17\xe0\x57\x15\xe0\x77\x22\xe0\x96\x33\xe0"
+            "\x77\x42\xe0\x76\x53\xe0\x56\x73\xe0\x37\x83\xe0\x17"
+            "\xa4\xc7\xc6\x77\xe0\x1e\x04\xe0\x4e\xe0\x98\xe6" }  },
+      /* --- pixel bitmap for cmr600 char#54 6 --- */
+      {  54,82756,                      /* character number, location */
+         55, 4,   -2, 4,      /* topleft row,col, and botleft row,col */
+          { 34,   57, 3,231, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x47\xe0\xad\xe0\x5e\x02\xe0\x27\x84\xe6\xc3\xc6"
+            "\xb5\xb6\xb7\x96\xb8\x86\xc8\x77\xc8\x76\xd8\x67\xe6"
+            "\x76\xe0\x24\x77\xe0\xd6\xe0\xb0\xf2\x27\xe0\xb0\x18"
+            "\xe0\xc7\xe0\xd7\x77\xd7\x4c\xa8\x34\x65\x88\x23\x95"
+            "\x78\x13\xb5\x68\x12\xd5\x5b\xd6\x4a\xe0\x16\x3a\xe0"
+            "\x17\x29\xe0\x27\x2f\x29\xe0\x37\x1f\x48\xe0\x48\xf4"
+            "\x17\xe0\x48\x27\xe0\x38\xf1\x27\xe0\x37\x10\x36\xe0"
+            "\x28\x46\xe0\x27\x66\xe0\x16\x76\xe7\x86\xd6\xa6\xb6"
+            "\xc6\x96\xe6\x67\xe0\x2e\x03\xe0\x5d\xe0\xa7\xd6" }  },
+      /* --- pixel bitmap for cmr600 char#55 7 --- */
+      {  55,83814,                      /* character number, location */
+         56, 5,   -2, 5,      /* topleft row,col, and botleft row,col */
+          { 36,   58, 3,235, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x22\xe0\xe0\x63\xe0\xe0\x55\xe0\xe0\x10\xf2\x2e\x0e"
+            "\x06\x2e\x0e\x05\x2e\x0e\x06\x2e\x0e\x05\x33\xe0\xc3"
+            "\x42\xe0\xd2\x52\xe0\xc3\x52\xe0\xb3\x62\xe0\xa3\x62"
+            "\xe0\xb2\x72\xe0\xa3\x72\xe0\x93\xe0\xe0\x43\xe0\xe0"
+            "\x52\xe0\xe0\x53\xe0\xe0\x43\xe0\xe0\x43\xe0\xe0\x52"
+            "\xe0\xe0\x53\xd0\xf1\xe0\x53\xe0\xe0\x43\xe0\x10\xf1"
+            "\xe0\x34\xe0\x10\xf1\xe0\x24\xe0\x20\xf1\xe0\x15\xe0"
+            "\x20\xf2\xe5\xe0\x30\xf2\xd6\xe0\x30\xf2\xc6\xe0\x40"
+            "\xf4\xb7\xe0\x40\xf8\xa8\xe0\x40\xb6\xe0\xe0\x34\xe0"
+            "\x60" }  },
+      /* --- pixel bitmap for cmr600 char#56 8 --- */
+      {  56,84826,                      /* character number, location */
+         55, 4,   -2, 4,      /* topleft row,col, and botleft row,col */
+          { 34,   57, 3,267, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xd8\xe0\x9e\xe0\x4e\x04\xe0\x16\x86\xd4\xd6\xa4\xe0"
+            "\x16\x84\xe0\x35\x74\xe0\x55\x64\xe0\x64\x63\xe0\x75"
+            "\x20\xf3\x24\xe0\x84\x20\x25\xe0\x74\x46\xe0\x55\x46"
+            "\xe0\x54\x58\xe0\x34\x68\xe0\x14\x7a\xc5\x8a\xa5\x9c"
+            "\x75\xbc\x54\xed\x24\xe0\x3e\x01\xe0\x6d\xe0\x9d\xe0"
+            "\x8d\xe0\x5e\x03\xe0\x14\x3d\xd4\x6c\xa5\x9b\x85\xbb"
+            "\x65\xea\x45\xe0\x29\x44\xe0\x58\x25\xe0\x67\x24\xe0"
+            "\x8c\xe0\x96\x0f\x14\xe0\xb5\x0f\x34\xe0\xc4\x05\xe0"
+            "\xb3\x10\xf1\x14\xe0\xa4\x10\x15\xe0\x84\x45\xe0\x74"
+            "\x55\xe0\x54\x75\xe0\x34\x95\xe5\xb7\x87\xee\x04\xe0"
+            "\x4e\xe0\x98\xd9" }  },
+      /* --- pixel bitmap for cmr600 char#57 9 --- */
+      {  57,85878,                      /* character number, location */
+         55, 4,   -2, 4,      /* topleft row,col, and botleft row,col */
+          { 34,   57, 3,235, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xd8\xe0\xac\xe0\x6e\x02\xe0\x27\x66\xe6\x97\xb6\xb6"
+            "\xa6\xd6\x87\xe6\x76\xe0\x16\x67\xe0\x26\x48\xe0\x26"
+            "\x30\xf1\x17\xe0\x37\x28\xe0\x37\x2f\x48\xe0\x47\x1f"
+            "\x48\xe0\x48\xf2\x17\xe0\x39\x27\xe0\x29\x27\xe0\x1a"
+            "\x36\xe0\x1a\x46\xdb\x55\xd2\x18\x65\xb3\x18\x75\x93"
+            "\x28\x85\x64\x38\xac\x47\xd7\x77\x10\xf1\xe0\xc7\x10"
+            "\xe0\xb8\x10\xf2\xe0\xb7\x20\xe0\xa7\x74\xe0\x27\x66"
+            "\xe0\x16\x68\xd7\x68\xd6\x78\xc6\x88\xb6\x97\xc6\xa5"
+            "\xc6\xb3\xc7\xd5\x86\xe0\x2e\x03\xe0\x5d\xe0\x98\xe0"
+            "\x35" }  },
+      /* --- pixel bitmap for cmr600 char#58 : --- */
+      {  58,112758,                     /* character number, location */
+         36, 7,    0, 7,      /* topleft row,col, and botleft row,col */
+          {  9,   36, 3,35, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x33\x47\x1f\x49\x17\x43\x30\xfe\x90\xf2\x90\x33\x47"
+            "\x1f\x49\x17\x43\x34" }  },
+      /* --- pixel bitmap for cmr600 char#59 ; --- */
+      {  59,113449,                     /* character number, location */
+         36, 7,  -16, 7,      /* topleft row,col, and botleft row,col */
+          {  9,   52, 3,73, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x33\x47\x1f\x49\x17\x43\x30\xfe\x90\xf2\x90\x33\x47"
+            "\x18\x1f\x39\x18\x33\x12\xf3\x72\x63\xf1\x62\x10\x53"
+            "\x10\xf1\x52\x20\x43\x53\x62\x63\x53\x62\x60" }  },
+      /* --- pixel bitmap for cmr600 char#60 (noname) --- */
+      {  60,104151,                     /* character number, location */
+         42, 7,  -18, 7,      /* topleft row,col, and botleft row,col */
+          {  9,   60, 3,43, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x33\x47\x1f\x49\x17\x43\x30\xf7\x90\xfa\x33\x30\xfa"
+            "\x25\x20\xfa\x17\x1f\x79\x17\x43\x35" }  },
+      /* --- pixel bitmap for cmr600 char#61 = --- */
+      {  61,114179,                     /* character number, location */
+         32, 5,   10, 5,      /* topleft row,col, and botleft row,col */
+          { 55,   22, 2,23, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x01\x35\x01\xff\x01\x37\x01\x35\x01\x00\xff\x0d\x37"
+            "\x00\x01\x35\x01\xff\x01\x37\x01\x35\x01" }  },
+      /* --- pixel bitmap for cmr600 char#62 (noname) --- */
+      {  62,90837,                      /* character number, location */
+         42, 5,  -17, 5,      /* topleft row,col, and botleft row,col */
+          { 29,   59, 3,173, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xc3\xe0\xa7\xc0\xf4\x99\xb0\xa7\xe0\xa3\xe0\xf7\xe0"
+            "\xe0\x10\xf3\xd2\xe0\xc3\xe0\xf5\xc2\xe0\x10\xf2\xb3"
+            "\xe0\x10\xf1\xa3\xe0\x20\x94\xe0\x20\xf1\x84\xe0\x30"
+            "\x75\xe0\x95\xe0\x96\xe0\x86\xe0\x86\xe0\x87\xe0\x60"
+            "\xf1\x17\xe0\x77\xe0\x24\x27\xe0\x16\x1f\x37\xe8\x07"
+            "\xe0\x1e\xe0\x25\x26\xe0\x43\x27\xe0\x23\x46\xe0\x13"
+            "\x66\xc4\x86\x85\xce\x01\xe0\x39\xb0" }  },
+      /* --- pixel bitmap for cmr600 char#63 ? --- */
+      {  63,89801,                      /* character number, location */
+         59, 5,    0, 5,      /* topleft row,col, and botleft row,col */
+          { 29,   59, 3,159, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xa9\xe0\x3e\x01\xc5\x77\x93\xc7\x54\xe7\x42\xe0\x37"
+            "\x23\xe0\x37\x25\xe0\x26\x17\xe0\x17\x0f\x38\xe7\x16"
+            "\xe0\x17\x24\xe0\x18\xf1\xe0\x77\x10\xe0\x67\xe0\x77"
+            "\xe0\x76\xe0\x86\xe0\x95\xe0\x95\xe0\xa4\x90\xf1\xe0"
+            "\x14\xa0\xe4\xb0\xf1\xe3\xc0\xf2\xd3\xd0\xf9\xd2\xe0"
+            "\xf7\xe0\xe0\x10\xc3\xe0\xa7\xc0\xf4\x99\xb0\xa7\xe0"
+            "\xa3\xe0" }  },
+      /* --- pixel bitmap for cmr600 char#64 @ --- */
+      {  64,115361,                     /* character number, location */
+         59, 5,   -1, 5,      /* topleft row,col, and botleft row,col */
+          { 55,   60, 3,431, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x99\xe0\xe0\xee\x03\xe0\xe0\x86\x96\xe0\xe0\x44"
+            "\xe0\x34\xe0\xe4\xe0\x74\xe0\xb3\xe0\xb3\xe0\x84\xe0"
+            "\xd4\xe0\x53\xe0\xe0\x33\xe0\x33\xe0\xe0\x53\xe0\x13"
+            "\xe0\xe0\x73\xd3\xe0\xe0\x93\xc2\xe0\xe0\xb2\xb3\xe0"
+            "\x27\xe0\x23\x93\xec\xe0\x13\x82\xd6\x64\xe2\x73\xc5"
+            "\xa3\xd3\x62\xc5\xc3\xd2\x53\xb5\xe3\xc3\x42\xb5\xe0"
+            "\x23\xc2\x42\xa6\xe0\x37\x72\x33\x96\xe0\x47\x73\x22"
+            "\xa6\xe0\x56\x82\x10\xf1\x12\x96\xe0\x66\x82\x13\x96"
+            "\xe0\x66\x83\x0f\x92\x96\xe0\x76\x92\x03\x96\xe0\x66"
+            "\x92\xf1\x12\x96\xe0\x66\x92\x12\xa6\xe0\x56\x83\x13"
+            "\x96\xe0\x47\x82\x32\xa6\xe0\x37\x82\x32\xb5\xe0\x28"
+            "\x82\x33\xb5\xe9\x73\x42\xc5\xc3\x16\x72\x53\xc5\xa3"
+            "\x36\x53\x62\xd6\x64\x55\x43\x73\xec\x8a\x93\xe0\x27"
+            "\xc6\xc2\xe0\xe0\xe0\xb3\xe0\xe0\xe0\xb3\xe0\xe0\xe0"
+            "\xb3\xe0\xe0\xe0\xb3\xe0\xe0\xe0\xb4\xe0\xe0\x85\xc3"
+            "\xe0\xe0\x48\xd4\xe0\xd9\xe0\x34\xe0\x89\xe0\x86\xcb"
+            "\xe0\xee\x09\xe0\xe0\x8d\xe0\x55" }  },
+      /* --- pixel bitmap for cmr600 char#65 A --- */
+      {  65, 1092,                      /* character number, location */
+         60, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 56,   60, 3,324, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xd2\xe0\xd0\xf2\xe0\xc4\xe0\xc0\xf2\xe0\xb6\xe0"
+            "\xb0\xf2\xe0\xa8\xe0\xa0\xf2\xe0\x92\x17\xe0\x90\xf2"
+            "\xe0\x82\x37\xe0\x80\xf2\xe0\x72\x57\xe0\x70\xf1\xe0"
+            "\x62\x77\xe0\x60\xe0\x53\x78\xe0\x50\xf1\xe0\x52\x97"
+            "\xe0\x50\xe0\x43\x98\xe0\x40\xf1\xe0\x42\xb7\xe0\x40"
+            "\xe0\x33\xb8\xe0\x30\xf1\xe0\x32\xd7\xe0\x30\xe0\x22"
+            "\xe8\xe0\x20\xf1\xe0\x22\xe0\x17\xe0\x20\xf2\xe0\x12"
+            "\xe0\x37\xe0\x10\xf1\xe2\xe0\x57\xe0\xee\x0e\xe0\xf1"
+            "\xde\x0e\x02\xd0\xd2\xe0\x77\xd0\xf2\xc2\xe0\x97\xc0"
+            "\xf1\xb2\xe0\xb7\xb0\xa3\xe0\xb8\xa0\xf1\xa2\xe0\xd7"
+            "\xa0\x93\xe0\xd8\x90\xf1\x92\xe0\xe0\x17\x90\x83\xe0"
+            "\xe0\x18\xe0\x14\xe0\xe0\x27\xe6\xe0\xe9\xba\xe0\xbb"
+            "\x6f\x2e\x03\xe0\x3e\x08" }  },
+      /* --- pixel bitmap for cmr600 char#66 B --- */
+      {  66, 2620,                      /* character number, location */
+         57, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 52,   57, 3,309, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0e\x0e\x08\xe0\x2e\x0e\x0c\xce\x0e\x0e\xe0\x49\xe0"
+            "\x3a\xe0\x37\xe0\x69\xe0\x27\xe0\x88\xe0\x17\xe0\x98"
+            "\xe7\xe0\x99\xd7\xe0\xa8\xd7\xe0\xa9\xc7\xe0\xb8\x30"
+            "\xf5\x97\xe0\xb9\x20\xf1\x97\xe0\xb8\x30\x97\xe0\xa9"
+            "\xc7\xe0\xa8\xd7\xe0\x98\xe7\xe0\x88\xe0\x17\xe0\x78"
+            "\xe0\x27\xe0\x68\xe0\x37\xe0\x48\xa0\xf1\x9e\x0e\x03"
+            "\xc0\x97\xe0\x49\xe0\x47\xe0\x77\xe0\x37\xe0\x88\xe0"
+            "\x17\xe0\x98\xe7\xe0\xa8\xd7\xe0\xb8\x30\xf1\x97\xe0"
+            "\xc8\x20\x97\xe0\xc9\xa7\xe0\xd8\x10\xf6\x97\xe0\xd9"
+            "\x97\xe0\xd8\x10\xf1\x97\xe0\xc9\x10\x97\xe0\xb9\x20"
+            "\xf1\x97\xe0\xa9\x30\x97\xe0\x8a\xd7\xe0\x7a\xd9\xe0"
+            "\x4a\x7e\x0e\x0e\x02\x8e\x0e\x0e\xae\x0e\x0a\xe0" }  },
+      /* --- pixel bitmap for cmr600 char#67 C --- */
+      {  67, 3703,                      /* character number, location */
+         59, 5,   -2, 5,      /* topleft row,col, and botleft row,col */
+          { 50,   61, 3,329, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xa9\xe0\x12\xe0\x6e\x02\xb3\xe0\x4e\x06\x93\xe0"
+            "\x29\x96\x64\xe8\xe0\x14\x45\xc8\xe0\x44\x26\xb8\xe0"
+            "\x73\x16\xa8\xe0\x99\x98\xe0\xb8\x88\xe0\xd7\x78\xe0"
+            "\xe7\x68\xe0\xe0\x26\xf1\x58\xe0\xe0\x45\xf1\x48\xe0"
+            "\xe0\x64\x38\xe0\xe0\x74\x38\xe0\xe0\x83\x29\xe0\xe0"
+            "\x83\x28\xe0\xe0\x93\xf3\x19\xe0\xe0\xa2\x0f\xc9\xe0"
+            "\xe0\xd0\x19\xe0\xe0\xc0\xf2\x19\xe0\xe0\xa2\x28\xe0"
+            "\xe0\xa2\x29\xe0\xe0\x92\x38\xe0\xe0\x83\x38\xe0\xe0"
+            "\x82\x58\xe0\xe0\x72\x58\xe0\xe0\x63\x68\xe0\xe0\x52"
+            "\x78\xe0\xe0\x43\x88\xe0\xe0\x33\x98\xe0\xe0\x13\xb8"
+            "\xe0\xd3\xd8\xe0\xc3\xe8\xe0\xa3\xe0\x28\xe0\x74\xe0"
+            "\x48\xe0\x54\xe0\x78\xe0\x15\xe0\xa9\x96\xe0\xee\x07"
+            "\xe0\xe0\x3e\x02\xe0\xe0\xa9\xe0\x30" }  },
+      /* --- pixel bitmap for cmr600 char#68 D --- */
+      {  68, 5017,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 55,   57, 3,299, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0e\x0e\x07\xe0\x6e\x0e\x0a\xe0\x3e\x0e\x0c\xe0\x89"
+            "\xe0\x2a\xe0\x77\xe0\x68\xe0\x67\xe0\x88\xe0\x47\xe0"
+            "\x98\xe0\x37\xe0\xb7\xe0\x27\xe0\xc7\xe0\x17\xe0\xc8"
+            "\xe7\xe0\xd7\xe7\xe0\xe7\xd7\xe0\xe8\xc7\xe0\xe0\x17"
+            "\xc7\xe0\xe0\x18\xb7\xe0\xe0\x27\x30\xf2\x87\xe0\xe0"
+            "\x28\x20\xf3\x87\xe0\xe0\x38\x10\xfb\x87\xe0\xe0\x39"
+            "\xf3\x87\xe0\xe0\x38\x10\xf1\x87\xe0\xe0\x28\x20\x87"
+            "\xe0\xe0\x27\xb7\xe0\xe0\x18\x30\xf1\x87\xe0\xe0\x17"
+            "\x40\x87\xe0\xe7\xd7\xe0\xd8\xd7\xe0\xd7\xe7\xe0\xc7"
+            "\xe0\x17\xe0\xb7\xe0\x27\xe0\xa7\xe0\x37\xe0\x88\xe0"
+            "\x47\xe0\x69\xe0\x49\xe0\x2a\xde\x0e\x0c\xe0\x1e\x0e"
+            "\x0a\xe0\x3e\x0e\x07\xe0\x65" }  },
+      /* --- pixel bitmap for cmr600 char#69 E --- */
+      {  69, 6610,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 51,   57, 3,293, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\x0e\x0e\x0e\x04\x50\x79\xe0\x6a\xd7\xe0\xa7\xd7"
+            "\xe0\xc6\xc7\xe0\xd5\xc7\xe0\xe4\x40\xf2\x87\xe0\xe0"
+            "\x13\x40\xf2\x87\xe0\xe0\x22\x40\x87\xe0\xe0\x23\xb7"
+            "\xe0\xe0\x32\x30\xf2\x87\xe0\x32\xc2\x30\xf2\x87\xe0"
+            "\x32\xe0\x30\xf1\x87\xe0\x23\xe0\x30\x87\xe0\x14\xe0"
+            "\xb7\xd6\xe0\x30\xf2\x8e\x0c\xe0\x30\x87\xd6\xe0\xb7"
+            "\xe0\x14\xe0\x30\xf1\x87\xe0\x23\xe0\x30\xf1\x87\xe0"
+            "\x32\xe0\x30\xf2\x87\xe0\x32\xe0\x12\x87\xe0\x32\xe3"
+            "\xf3\x87\xe0\xe0\x52\x10\xf2\x87\xe0\xe0\x43\x10\xf1"
+            "\x87\xe0\xe0\x33\x20\xf1\x87\xe0\xe0\x24\x20\x87\xe0"
+            "\xe0\x15\xa7\xe0\xd7\xa7\xe0\xc8\x99\xe0\x7b\x3f\x2e"
+            "\x0e\x0e\x06\x3e" }  },
+      /* --- pixel bitmap for cmr600 char#70 F --- */
+      {  70, 8069,                      /* character number, location */
+         57, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 49,   57, 3,197, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\x0e\x0e\x0e\x05\x20\x89\xe0\x6a\xb7\xe0\xa7\xb7"
+            "\xe0\xc6\xa7\xe0\xd5\xa7\xe0\xe4\x10\xf2\x97\xe0\xe0"
+            "\x13\x10\xf2\x97\xe0\xe0\x22\x10\x97\xe0\xe0\x23\xf1"
+            "\x97\xe0\xe0\x32\xf1\x97\xe0\x32\xc2\xf3\x97\xe0\x32"
+            "\xe0\xf1\x97\xe0\x23\xe0\x97\xe0\x14\xe0\x97\xd6\xe0"
+            "\xf2\x9e\x0c\xe0\x97\xd6\xe0\x97\xe0\x14\xe0\xf1\x97"
+            "\xe0\x23\xe0\xf5\x97\xe0\x32\xe0\xfc\x97\xe0\xe0\x50"
+            "\x8a\xe0\xe0\x3f\x2e\x0d\xe0\x80" }  },
+      /* --- pixel bitmap for cmr600 char#71 G --- */
+      {  71, 9398,                      /* character number, location */
+         59, 5,   -2, 5,      /* topleft row,col, and botleft row,col */
+          { 56,   61, 3,371, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xa9\xe0\x12\xe0\xce\x02\xb3\xe0\xae\x06\x93\xe0"
+            "\x89\x96\x64\xe0\x68\xe0\x14\x45\xe0\x48\xe0\x44\x26"
+            "\xe0\x38\xe0\x73\x16\xe0\x28\xe0\x99\xe0\x18\xe0\xb8"
+            "\xe8\xe0\xd7\xd8\xe0\xe7\xc8\xe0\xe0\x26\x60\xf1\x58"
+            "\xe0\xe0\x45\x60\xf1\x48\xe0\xe0\x64\x60\x38\xe0\xe0"
+            "\x74\x98\xe0\xe0\x83\x89\xe0\xe0\x83\x88\xe0\xe0\x93"
+            "\x60\xf3\x19\xe0\xe0\xa2\x6f\xa9\xe0\xe0\xe0\x5f\x19"
+            "\xe0\xae\x09\x19\xe0\x9e\x09\x19\xe0\xe0\x3a\x50\xf1"
+            "\x19\xe0\xe0\x57\x60\x28\xe0\xe0\x57\x89\xe0\xe0\x47"
+            "\x60\xf1\x38\xe0\xe0\x47\x60\xf1\x48\xe0\xe0\x37\x60"
+            "\xf1\x58\xe0\xe0\x27\x60\x68\xe0\xe0\x17\xd8\xe0\xe7"
+            "\xe8\xe0\xc8\xe0\x18\xe0\xb8\xe0\x28\xe0\x99\xe0\x38"
+            "\xe0\x73\x25\xe0\x49\xe0\x44\x25\xe0\x69\xe0\x14\x44"
+            "\xe0\x8a\x95\x73\xe0\xae\x07\x92\xe0\xce\x03\xe0\xe0"
+            "\xe0\x1a\xe0\x80" }  },
+      /* --- pixel bitmap for cmr600 char#72 H --- */
+      {  72,10809,                      /* character number, location */
+         57, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 58,   57, 3,84, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf2\x0e\x0b\x8e\x0b\x89\xe0\xa9\x80\xfe\x97\xe0\xc7"
+            "\x90\xf6\x97\xe0\xc7\x90\xf2\x9e\x0e\x0c\x90\xfe\x97"
+            "\xe0\xc7\x90\xf8\x97\xe0\xc7\x90\x89\xe0\xa9\x8f\x2e"
+            "\x0b\x8e\x0b" }  },
+      /* --- pixel bitmap for cmr600 char#73 I --- */
+      {  73,11684,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 25,   57, 2,20, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xff\x02\x00\x19\x08\x09\x08\x00\xff\x30\x09\x07\x09"
+            "\x00\x08\x09\x08\xff\x02\x19" }  },
+      /* --- pixel bitmap for cmr600 char#74 J --- */
+      {  74,12566,                      /* character number, location */
+         57, 4,   -2, 4,      /* topleft row,col, and botleft row,col */
+          { 35,   59, 3,99, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf2\xbe\x0a\xe0\x6a\x50\xfe\xe0\x87\x60\xfe\xe0\x87"
+            "\x60\xf8\xe0\x87\x60\x33\xe0\x27\x77\xe7\x6f\x39\xd7"
+            "\x69\xc7\x78\xd7\x85\xe7\x93\xe0\x27\xa3\xe7\xc3\xc7"
+            "\xe3\xa7\xe0\x24\x76\xe0\x6d\xe0\xa8\xe0\x40" }  },
+      /* --- pixel bitmap for cmr600 char#75 K --- */
+      {  75,13889,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 58,   57, 3,424, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\x0e\x0b\xe0\x1e\x03\x10\x89\xe0\xbb\xe7\xe0\xd7"
+            "\xe0\x37\xe0\xd5\xe0\x57\xe0\xd4\xe0\x67\xe0\xd3\xe0"
+            "\x77\xe0\xc3\xe0\x87\xe0\xb3\xe0\x97\xe0\xa3\xe0\xa7"
+            "\xe0\x93\xe0\xb7\xe0\x83\xe0\xc7\xe0\x64\xe0\xd7\xe0"
+            "\x53\xe0\xe0\x17\xe0\x43\xe0\xe0\x27\xe0\x33\xe0\xe0"
+            "\x37\xe0\x23\xe0\xe0\x47\xe0\x13\xe0\xe0\x57\xe3\xe0"
+            "\xe0\x67\xd3\xe0\xe0\x77\xc3\xe0\xe0\x87\xb4\xe0\xe0"
+            "\x87\xa6\xe0\xe0\x77\x97\xe0\xe0\x77\x89\xe0\xe0\x67"
+            "\x7b\xe0\xe0\x57\x63\x18\xe0\xe0\x57\x53\x38\xe0\xe0"
+            "\x47\x43\x58\xe0\xe0\x37\x33\x68\xe0\xe0\x37\x23\x88"
+            "\xe0\xe0\x27\x13\xa8\xe0\xe0\x1a\xb8\xe0\xe0\x19\xd8"
+            "\xe0\xe8\xe0\x18\xe0\xd7\xe0\x28\xe0\xd7\xe0\x38\xe0"
+            "\x30\xf1\x97\xe0\x48\xe0\x20\x97\xe0\x58\xe0\x10\xf1"
+            "\x97\xe0\x68\xe0\x97\xe0\x78\xd0\xf1\x97\xe0\x88\xc0"
+            "\x97\xe0\x98\xb0\xf1\x97\xe0\xa8\xa0\x97\xe0\xb8\x90"
+            "\xf1\x97\xe0\xc8\x80\x97\xe0\xc9\xe0\x19\xe0\xac\x5f"
+            "\x2e\x0b\xce\x07" }  },
+      /* --- pixel bitmap for cmr600 char#76 L --- */
+      {  76,15054,                      /* character number, location */
+         57, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 47,   57, 3,135, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\x0e\x0d\xe0\x60\x8a\xe0\xe0\x10\xfe\x97\xe0\xe0"
+            "\x30\xfe\x97\xe0\xe0\x30\x97\xe0\xe0\x30\xf4\x97\xe0"
+            "\xe0\x12\x97\xe0\xe3\xf2\x97\xe0\xe2\x10\xf2\x97\xe0"
+            "\xd3\x10\x97\xe0\xc4\x10\xf1\x97\xe0\xb5\x10\x97\xe0"
+            "\xa6\xa7\xe0\x88\xa7\xe0\x69\xa9\xe0\x2c\x2f\x2e\x0e"
+            "\x0e\x03\x23" }  },
+      /* --- pixel bitmap for cmr600 char#77 M --- */
+      {  77,16506,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 70,   57, 3,346, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0e\x02\xe0\xe0\xae\x02\x0f\x1e\x03\xe0\xe0\x8e\x03"
+            "\x89\xe0\xe0\x89\x80\xf1\x92\x16\xe0\xe0\x62\x16\x90"
+            "\xf2\x92\x26\xe0\xe0\x42\x26\x90\xf2\x92\x36\xe0\xe0"
+            "\x22\x36\x90\xf1\x92\x46\xe0\xe2\x46\x90\xf2\x92\x56"
+            "\xe0\xc2\x56\x90\xf1\x92\x66\xe0\xa2\x66\x90\xf2\x92"
+            "\x76\xe0\x82\x76\x90\xf2\x92\x86\xe0\x62\x86\x90\xf1"
+            "\x92\x96\xe0\x42\x96\x90\xf2\x92\xa6\xe0\x22\xa6\x90"
+            "\xf1\x92\xb6\xe2\xb6\x90\xf2\x92\xc6\xc2\xc6\x90\xf2"
+            "\x92\xd6\xa2\xd6\x90\xf1\x92\xe6\x82\xe6\x90\xf2\x92"
+            "\xe0\x16\x62\xe0\x16\x90\xf1\x92\xe0\x26\x42\xe0\x26"
+            "\x90\xf2\x92\xe0\x36\x22\xe0\x36\x90\xf2\x92\xe0\x48"
+            "\xe0\x46\x90\x84\xe0\x46\xe0\x56\xe0\x26\xe0\x36\xe0"
+            "\x56\xea\xe0\x24\xe0\x58\x8f\x1e\x06\xb4\xbe\x0a\x0e"
+            "\x06\xc2\xce\x0a" }  },
+      /* --- pixel bitmap for cmr600 char#78 N --- */
+      {  78,18024,                      /* character number, location */
+         57, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 58,   57, 3,461, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0e\x02\xe0\x8e\x0e\x09\xe0\x7e\x0e\x0a\xe0\x6e\x06"
+            "\x99\xe0\xba\xea\xe0\xc6\xe0\x22\x18\xe0\xc4\xe0\x32"
+            "\x18\xe0\xd2\xe0\x42\x28\xe0\xc2\xe0\x42\x38\xe0\xb2"
+            "\xe0\x42\x47\xe0\xb2\xe0\x42\x48\xe0\xa2\xe0\x42\x58"
+            "\xe0\x92\x90\xf1\x92\x68\xe0\x82\x90\x92\x78\xe0\x72"
+            "\x90\xf1\x92\x88\xe0\x62\x90\x92\x98\xe0\x52\x90\xf1"
+            "\x92\xa8\xe0\x42\x90\x92\xb8\xe0\x32\xe0\x42\xc8\xe0"
+            "\x22\xe0\x42\xd7\xe0\x22\xe0\x42\xd8\xe0\x12\xe0\x42"
+            "\xe8\xe2\x90\xf1\x92\xe0\x18\xd2\x90\x92\xe0\x28\xc2"
+            "\x90\xf1\x92\xe0\x38\xb2\x90\x92\xe0\x48\xa2\x90\xf1"
+            "\x92\xe0\x58\x92\x90\x92\xe0\x68\x82\x90\xf1\x92\xe0"
+            "\x78\x72\x90\x92\xe0\x88\x62\xe0\x42\xe0\x98\x52\xe0"
+            "\x42\xe0\xa7\x52\xe0\x42\xe0\xa8\x42\xe0\x42\xe0\xb8"
+            "\x32\x90\xf1\x92\xe0\xc8\x22\x90\x92\xe0\xd8\x12\x90"
+            "\xf1\x92\xe0\xea\x90\x92\xe0\xe0\x19\x90\xf1\x92\xe0"
+            "\xe0\x28\x90\x92\xe0\xe0\x37\xe0\x42\xe0\xe0\x46\xe0"
+            "\x34\xe0\xe0\x45\xe0\x26\xe0\xe0\x35\xea\xe0\xe0\x24"
+            "\x9f\x1e\x06\xe0\xc3\x9e\x06\xe0\xd2\x90" }  },
+      /* --- pixel bitmap for cmr600 char#79 O --- */
+      {  79,19117,                      /* character number, location */
+         59, 5,   -2, 5,      /* topleft row,col, and botleft row,col */
+          { 55,   61, 3,339, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x99\xe0\xe0\xee\x03\xe0\xe0\x87\x77\xe0\xe0\x46"
+            "\xd6\xe0\xe6\xe0\x36\xe0\xb6\xe0\x56\xe0\x96\xe0\x76"
+            "\xe0\x67\xe0\x97\xe0\x46\xe0\xb6\xe0\x36\xe0\xd6\xe0"
+            "\x17\xe0\xd7\xd7\xe0\xe0\x17\x60\xf1\x57\xe0\xe0\x37"
+            "\x50\xf1\x47\xe0\xe0\x57\x40\x38\xe0\xe0\x58\x67\xe0"
+            "\xe0\x77\x30\xf2\x28\xe0\xe0\x78\x20\x19\xe0\xe0\x79"
+            "\x10\xf2\x18\xe0\xe0\x98\x1f\xb9\xe0\xe0\x99\x18\xe0"
+            "\xe0\x98\x10\xf2\x19\xe0\xe0\x79\x10\xf1\x28\xe0\xe0"
+            "\x78\x20\xf2\x38\xe0\xe0\x58\x30\x48\xe0\xe0\x38\x97"
+            "\xe0\xe0\x37\xa8\xe0\xe0\x18\xb7\xe0\xe0\x17\xd7\xe0"
+            "\xd7\xe8\xe0\xb8\xe0\x17\xe0\xb7\xe0\x37\xe0\x97\xe0"
+            "\x57\xe0\x77\xe0\x86\xe0\x56\xe0\xb7\xe0\x17\xe0\xe6"
+            "\xd6\xe0\xe0\x47\x77\xe0\xe0\x8e\x03\xe0\xe0\xe9\xe0"
+            "\x92" }  },
+      /* --- pixel bitmap for cmr600 char#80 P --- */
+      {  80,20444,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 48,   57, 3,185, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0e\x0e\x06\xee\x0e\x09\xbe\x0e\x0b\xe0\x29\xe0\x1a"
+            "\xe0\x17\xe0\x58\xe7\xe0\x77\xd7\xe0\x87\xc7\xe0\x97"
+            "\xb7\xe0\x98\xa7\xe0\x99\x10\xf1\x87\xe0\xa8\x10\xf6"
+            "\x87\xe0\xa9\xf1\x87\xe0\xa8\x10\xf1\x87\xe0\x98\x20"
+            "\x87\xe0\x88\xb7\xe0\x87\xc7\xe0\x77\xd7\xe0\x58\xe7"
+            "\xe0\x29\xe0\x2e\x0e\x02\xe0\x4e\x0e\xc0\xfe\x87\xe0"
+            "\xe0\x50\xf7\x87\xe0\xe0\x50\x79\xe0\xe0\x4f\x2e\x09"
+            "\xe0\xb8" }  },
+      /* --- pixel bitmap for cmr600 char#81 Q --- */
+      {  81,21583,                      /* character number, location */
+         59, 5,  -16, 5,      /* topleft row,col, and botleft row,col */
+          { 55,   75, 3,455, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x99\xe0\xe0\xee\x03\xe0\xe0\x87\x77\xe0\xe0\x46"
+            "\xd6\xe0\xe7\xe0\x17\xe0\xb6\xe0\x56\xe0\x96\xe0\x76"
+            "\xe0\x67\xe0\x97\xe0\x46\xe0\xb6\xe0\x36\xe0\xd6\xe0"
+            "\x17\xe0\xd7\xd7\xe0\xe0\x17\xb8\xe0\xe0\x18\xa7\xe0"
+            "\xe0\x37\x98\xe0\xe0\x38\x87\xe0\xe0\x57\x40\xf1\x38"
+            "\xe0\xe0\x58\x30\xf2\x28\xe0\xe0\x78\x20\xf1\x19\xe0"
+            "\xe0\x79\x10\xf1\x18\xe0\xe0\x98\x1f\xb9\xe0\xe0\x99"
+            "\x18\xe0\xe0\x98\x10\xf2\x19\xe0\xe0\x79\x10\xf1\x28"
+            "\xe0\xe0\x78\x20\xf2\x38\xe0\xe0\x58\x30\x48\xe0\xe0"
+            "\x38\x97\xd5\xd7\xa8\xa9\xa8\xb7\x93\x53\x97\xd7\x82"
+            "\x82\x77\xe7\x73\x83\x67\xe0\x17\x62\xa3\x47\xe0\x37"
+            "\x52\xa3\x37\xe0\x57\x42\xb3\x17\xe0\x86\x32\xb9\xe0"
+            "\xb6\x23\xa8\xe0\xe6\x12\xa6\xe0\xe0\x48\x67\xe0\x12"
+            "\xe0\x5e\x06\xe2\xe0\x99\x34\xe2\xf1\xe0\xe0\x75\xc3"
+            "\xe0\xe0\x85\xa4\xe0\xe0\x86\x85\xe0\xe0\x87\x65\xe0"
+            "\xe0\x9e\x04\x10\xf1\xe0\xe0\x9e\x03\x10\xe0\xe0\x9e"
+            "\x02\xe0\xe0\xce\x01\xe0\xe0\xce\xe0\xe0\xec\xe0\xe0"
+            "\xe0\x2a\xe0\xe0\xe0\x56\x76" }  },
+      /* --- pixel bitmap for cmr600 char#82 R --- */
+      {  82,23160,                      /* character number, location */
+         57, 2,   -2, 2,      /* topleft row,col, and botleft row,col */
+          { 59,   59, 3,371, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0e\x0e\x05\xe0\xce\x0e\x09\xe0\x8e\x0e\x0b\xe0\xe9"
+            "\xea\xe0\xd7\xe0\x49\xe0\xb7\xe0\x68\xe0\xa7\xe0\x78"
+            "\xe0\x97\xe0\x88\xd0\xf1\x97\xe0\x98\xc0\x97\xe0\x99"
+            "\xe0\x67\xe0\xa8\xb0\xf5\x97\xe0\xa9\xa0\x97\xe0\xa8"
+            "\xe0\x67\xe0\x99\xe0\x67\xe0\x98\xe0\x77\xe0\x97\xe0"
+            "\x87\xe0\x88\xe0\x87\xe0\x77\xe0\xa7\xe0\x67\xe0\xb7"
+            "\xe0\x47\xe0\xd7\xe0\x18\xe0\xe0\x1e\x0e\xe0\xe0\x3e"
+            "\x0b\xe0\xe0\x67\xe6\xe0\xe0\x47\xe0\x26\xe0\xe0\x27"
+            "\xe0\x36\xe0\xe0\x17\xe0\x46\xe0\xe7\xe0\x56\xe0\xd7"
+            "\xe0\x66\xe0\xc7\xe0\x67\xe0\xb7\xe0\x76\xe0\x20\xf3"
+            "\x97\xe0\x77\xe0\x10\xf2\x97\xe0\x78\xe0\xf3\x97\xe0"
+            "\x79\xd0\xf2\x97\xe0\x7a\xa2\x97\xe0\x8a\x92\x97\xe0"
+            "\x8a\x83\x89\xe0\x89\x82\x1e\x0b\xe0\x19\x63\x1e\x0b"
+            "\xe0\x28\x62\x2e\x0b\xe0\x38\x43\xe0\xe0\xe0\x4c\xe0"
+            "\xe0\xe0\x87\x54" }  },
+      /* --- pixel bitmap for cmr600 char#83 S --- */
+      {  83,24387,                      /* character number, location */
+         59, 5,   -2, 5,      /* topleft row,col, and botleft row,col */
+          { 36,   61, 3,313, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xc8\xc2\xbe\x83\x9e\x04\x63\x86\x87\x34\x75\xd5\x15"
+            "\x65\xe0\x29\x55\xe0\x48\x45\xe0\x67\x45\xe0\x76\x20"
+            "\xf1\x15\xe0\x95\x20\x14\xe0\xb4\x25\xe0\xb4\x2f\x25"
+            "\xe0\xc3\x25\xe0\xd2\x2f\x16\xe0\xc2\x27\xe0\xb2\x27"
+            "\xe0\xe0\x27\xe0\xe0\x18\xe0\xe0\x19\xe0\xdc\xe0\xbe"
+            "\x01\xe0\x8e\x04\xe0\x4e\x08\xe0\x2e\x08\xe0\x1e\x08"
+            "\xe0\x2e\x08\xe0\x2e\x07\xe0\x5e\x03\xe0\x9e\xe0\xcb"
+            "\xe0\xd9\xe0\xe0\x18\x10\xf1\xe0\xe7\x10\xe0\xe0\x17"
+            "\xe0\xe0\x26\x0f\x12\xe0\xe6\x0f\x22\xe0\xe0\x15\x0f"
+            "\x13\xe0\xe5\x03\xe0\xe4\x1f\x14\xe0\xc5\x15\xe0\xb4"
+            "\x26\xe0\x95\x27\xe0\x84\x38\xe0\x65\x39\xe0\x45\x45"
+            "\x15\xe0\x15\x54\x47\x96\x63\x6e\x05\x83\x9e\xa2\xd9"
+            "\xca" }  },
+      /* --- pixel bitmap for cmr600 char#84 T --- */
+      {  84,25629,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 54,   57, 3,145, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\x2e\x0e\x0e\x08\x20\x28\xd9\xc8\x46\xe0\x27\xe0"
+            "\x25\x35\xe0\x47\xe0\x35\x24\xe0\x57\xe0\x44\x10\xf2"
+            "\x13\xe0\x67\xe0\x53\x10\xf3\x12\xe0\x77\xe0\x62\x13"
+            "\xe0\x77\xe0\x63\x0f\x32\xe0\x87\xe0\x72\xfe\xe0\xa7"
+            "\xe0\x90\xfe\xe0\xa7\xe0\x90\xf3\xe0\xa7\xe0\x90\xe0"
+            "\x8b\xe0\x70\xf2\xce\x0e\x03\xb0" }  },
+      /* --- pixel bitmap for cmr600 char#85 U --- */
+      {  85,26809,                      /* character number, location */
+         57, 2,   -2, 2,      /* topleft row,col, and botleft row,col */
+          { 58,   59, 2,93, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xff\x02\x00\x19\x0d\x14\x08\x09\x1a\x0a\x0e\x07\x1d"
+            "\x06\x10\x07\x1e\x04\x08\x00\xff\x23\x09\x07\x1f\x02"
+            "\x09\x00\x09\x07\x1e\x03\x09\x00\xff\x01\x0a\x07\x1d"
+            "\x02\x0a\x00\x0a\x07\x1c\x03\x15\x06\x1c\x03\x15\x07"
+            "\x1a\x03\x17\x06\x1a\x03\x17\x07\x18\x03\x19\x06\x17"
+            "\x03\x1b\x06\x15\x04\x1c\x06\x13\x04\x1e\x06\x11\x04"
+            "\x20\x07\x0d\x05\x23\x07\x08\x07\x25\x13\x2a\x0e\x2f"
+            "\x08\x18" }  },
+      /* --- pixel bitmap for cmr600 char#86 V --- */
+      {  86,28035,                      /* character number, location */
+         57, 2,   -2, 2,      /* topleft row,col, and botleft row,col */
+          { 58,   59, 3,375, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\x0e\x08\xe0\x5e\x03\x6b\xe0\xe9\xb8\xe0\xe0\x36"
+            "\xe7\xe0\xe0\x44\xe0\x17\xe0\xe0\x43\xe0\x28\xe0\xe0"
+            "\x33\x80\xf1\x97\xe0\xe0\x32\x90\xf1\xa7\xe0\xe0\x12"
+            "\xa0\xa8\xe0\xe2\xa0\xf1\xb7\xe0\xd2\xb0\xb8\xe0\xb3"
+            "\xb0\xf1\xc7\xe0\xb2\xc0\xf1\xd7\xe0\x92\xd0\xd8\xe0"
+            "\x82\xd0\xf1\xe7\xe0\x72\xe0\xe8\xe0\x53\xe0\xf1\xe0"
+            "\x17\xe0\x52\xe0\x10\xf1\xe0\x27\xe0\x32\xe0\x20\xe0"
+            "\x28\xe0\x13\xe0\x20\xf1\xe0\x37\xe0\x12\xe0\x30\xf1"
+            "\xe0\x47\xd2\xe0\x40\xe0\x48\xc2\xe0\x40\xf1\xe0\x57"
+            "\xb2\xe0\x50\xe0\x58\x93\xe0\x50\xf1\xe0\x67\x92\xe0"
+            "\x60\xf1\xe0\x77\x72\xe0\x70\xe0\x78\x62\xe0\x70\xf1"
+            "\xe0\x87\x52\xe0\x80\xe0\x88\x33\xe0\x80\xf1\xe0\x97"
+            "\x32\xe0\x90\xf1\xe0\xa7\x12\xe0\xa0\xe0\xaa\xe0\xa0"
+            "\xf2\xe0\xb8\xe0\xb0\xf1\xe0\xc6\xe0\xc0\xf2\xe0\xd4"
+            "\xe0\xd0\xe0\xe2\xe0\xe0" }  },
+      /* --- pixel bitmap for cmr600 char#87 W --- */
+      {  87,29677,                      /* character number, location */
+         57, 2,   -2, 2,      /* topleft row,col, and botleft row,col */
+          { 81,   59, 3,593, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\x0e\x07\xae\x08\xbe\x03\x5b\xe0\x7b\xe0\x6a\x98"
+            "\xe0\xa8\xe0\xa6\xc7\xe0\xa8\xe0\xb4\xd7\xe0\xb7\xe0"
+            "\xb3\xe8\xe0\xa7\xe0\xb3\x70\xf1\x87\xe0\xa8\xe0\xa2"
+            "\x80\x88\xe0\x98\xe0\x93\xe0\x37\xe0\x98\xe0\x92\x90"
+            "\xf1\x97\xe0\x82\x17\xe0\x82\x90\xa7\xe0\x72\x17\xe0"
+            "\x72\xa0\xf1\xa7\xe0\x62\x37\xe0\x62\xa0\xb7\xe0\x52"
+            "\x37\xe0\x52\xb0\xf1\xb7\xe0\x42\x57\xe0\x42\xb0\xc7"
+            "\xe0\x32\x57\xe0\x32\xc0\xf1\xc7\xe0\x22\x77\xe0\x22"
+            "\xc0\xc8\xe0\x12\x77\xe0\x13\xe0\xb7\xe3\x78\xe2\xe0"
+            "\xc7\xe2\x97\xe2\xe0\xc8\xd2\x97\xd3\xe0\xd7\xd2\x98"
+            "\xc2\xe0\xf1\xe7\xc2\xb7\xc2\xe0\xe0\x17\xb2\xb7\xb2"
+            "\xe0\x10\xf1\xe0\x17\xa2\xd7\xa2\xe0\x10\xe0\x27\x92"
+            "\xd7\x92\xe0\x20\xf1\xe0\x27\x82\xe0\x17\x82\xe0\x20"
+            "\xe0\x37\x72\xe0\x17\x72\xe0\x30\xf1\xe0\x37\x62\xe0"
+            "\x37\x62\xe0\x30\xe0\x47\x52\xe0\x37\x52\xe0\xe0\x87"
+            "\x43\xe0\x38\x42\xe0\xe0\x87\x42\xe0\x57\x42\xe0\xe0"
+            "\x88\x32\xe0\x57\x33\xe0\xe0\x97\x23\xe0\x58\x22\xe0"
+            "\xe0\xa7\x22\xe0\x77\x22\xe0\xe0\xa8\x12\xe0\x77\x22"
+            "\xe0\xe0\xb7\x12\xe0\x77\x12\xe0\x60\xf1\xe0\x69\xe0"
+            "\x99\xe0\x60\xe0\x78\xe0\x98\xe0\x70\xf1\xe0\x77\xe0"
+            "\xb7\xe0\x70\xe0\x86\xe0\xb6\xe0\x80\xf1\xe0\x85\xe0"
+            "\xd5\xe0\x80\xf1\xe0\x94\xe0\xd4\xe0\x90\xe0\x93\xe0"
+            "\xe0\x13\xe0\xe0\xe0\x52\xe0\xe0\x12\xe0\xa0" }  },
+      /* --- pixel bitmap for cmr600 char#88 X --- */
+      {  88,31160,                      /* character number, location */
+         57, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 58,   57, 2,204, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xff\x02\x01\x17\x0b\x13\x04\x00\x08\x0c\x12\x0c\x11"
+            "\x0a\x14\x08\x15\x08\x16\x05\x18\x08\x15\x04\x1a\x08"
+            "\x14\x03\x1b\x08\x14\x02\x1d\x08\x12\x02\x1f\x08\x10"
+            "\x03\x1f\x08\x10\x02\x21\x08\x0e\x02\x23\x08\x0c\x03"
+            "\x23\x08\x0c\x02\x25\x08\x0a\x02\x27\x08\x08\x03\x27"
+            "\x08\x08\x02\x29\x08\x06\x02\x2b\x08\x04\x03\x2b\x08"
+            "\x03\x03\x2d\x08\x02\x02\x2f\x0b\x2f\x0a\x31\x08\x1b"
+            "\x00\xff\x01\x18\x08\x1a\x00\x19\x08\x33\x08\x31\x09"
+            "\x31\x0a\x2f\x02\x02\x07\x2e\x03\x02\x08\x2d\x02\x04"
+            "\x08\x2b\x02\x06\x07\x2a\x03\x06\x08\x29\x02\x08\x08"
+            "\x27\x02\x0a\x07\x26\x03\x0a\x08\x25\x02\x0c\x08\x23"
+            "\x02\x0e\x07\x22\x03\x0e\x08\x21\x02\x10\x08\x1f\x02"
+            "\x12\x07\x1e\x03\x12\x08\x1d\x02\x14\x08\x1b\x02\x16"
+            "\x07\x1a\x03\x16\x08\x18\x03\x18\x08\x17\x02\x1a\x07"
+            "\x16\x03\x1a\x08\x14\x04\x1b\x08\x11\x07\x19\x0a\x0d"
+            "\x0c\x16\x0c\x07\xff\x02\x13\x11\x16" }  },
+      /* --- pixel bitmap for cmr600 char#89 Y --- */
+      {  89,32524,                      /* character number, location */
+         57, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 60,   57, 2,139, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xff\x02\x00\x17\x14\x11\x07\x0b\x1c\x0a\x0c\x09\x1e"
+            "\x06\x10\x08\x1f\x04\x12\x08\x1e\x03\x13\x08\x1d\x03"
+            "\x15\x08\x1c\x02\x17\x08\x1a\x03\x17\x08\x1a\x02\x19"
+            "\x08\x18\x02\x1a\x08\x17\x03\x1b\x08\x16\x02\x1d\x08"
+            "\x14\x03\x1d\x08\x14\x02\x1f\x08\x12\x02\x21\x08\x10"
+            "\x03\x21\x08\x10\x02\x23\x08\x0e\x03\x23\x08\x0e\x02"
+            "\x25\x08\x0c\x02\x27\x08\x0a\x03\x27\x08\x0a\x02\x29"
+            "\x08\x08\x03\x2a\x08\x07\x02\x2b\x08\x06\x02\x2d\x08"
+            "\x04\x03\x2d\x08\x04\x02\x2f\x08\x02\x03\x30\x08\x01"
+            "\x02\x31\x0a\x33\x09\x19\x00\xff\x13\x1b\x07\x1a\x00"
+            "\x1a\x09\x19\x00\xff\x02\x12\x18\x12" }  },
+      /* --- pixel bitmap for cmr600 char#90 Z --- */
+      {  90,33693,                      /* character number, location */
+         57, 5,    0, 5,      /* topleft row,col, and botleft row,col */
+          { 42,   57, 3,303, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\x2e\x0e\x0b\x10\x2c\xe0\x48\x49\xe0\x78\x47\xe0"
+            "\x88\x30\xf1\x25\xe0\x98\x40\x24\xe0\x98\x73\xe0\xa8"
+            "\x64\xe0\x98\x60\xf1\x13\xe0\x98\x70\x13\xe0\x88\x80"
+            "\xf1\x12\xe0\x88\x90\x12\xe0\x78\xb2\xe0\x77\xc2\xe0"
+            "\x68\xb0\xf1\xe0\x88\xc0\xe0\x78\xd0\xf1\xe0\x68\xe0"
+            "\xe0\x58\xe0\x10\xf1\xe0\x48\xe0\x20\xe0\x38\xe0\xe0"
+            "\x67\xe0\xe0\x68\xe0\x40\xf1\xe0\x18\xe0\x50\xe8\xe0"
+            "\x60\xf1\xd8\xe0\x70\xc8\xe0\x62\xf1\xb8\xe0\x72\xa8"
+            "\xe0\x82\xa7\xe0\x92\x98\xe0\x92\xf1\x88\xe0\x93\x78"
+            "\xe0\xa3\xf1\x68\xe0\xb3\x58\xe0\xb3\x58\xe0\xc3\x58"
+            "\xe0\xb4\x48\xe0\xb5\x48\xe0\xa6\x38\xe0\xa7\x28\xe0"
+            "\x99\x28\xe0\x6c\x1f\x2e\x0e\x0d\x19" }  },
+      /* --- pixel bitmap for cmr600 char#91 [ --- */
+      {  91,116372,                     /* character number, location */
+         62, 9,  -21, 9,      /* topleft row,col, and botleft row,col */
+          { 13,   83, 2,12, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xff\x03\x00\x0d\x00\xff\x4a\x04\x09\xff\x03\x0d" }  },
+      /* --- pixel bitmap for cmr600 char#92 (noname) --- */
+      {  92,136711,                     /* character number, location */
+         58,13,   33,13,      /* topleft row,col, and botleft row,col */
+          { 26,   25, 3,87, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x72\xe2\x73\xd3\x63\xd3\x63\xd3\x63\xd3\x72\xe2\x73"
+            "\xd3\x72\xe2\x73\xd3\x60\xf1\x12\xe2\x73\xd3\x7f\x32"
+            "\xe2\x82\x23\x92\x23\x39\x79\x1f\x2a\x6a\xf1\x19\x79"
+            "\x27\x97\x53\xd3\x37" }  },
+      /* --- pixel bitmap for cmr600 char#93 ] --- */
+      {  93,117186,                     /* character number, location */
+         62, 1,  -21, 1,      /* topleft row,col, and botleft row,col */
+          { 13,   83, 2,12, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xff\x03\x00\x0d\xff\x4a\x09\x04\x00\xff\x03\x0d" }  },
+      /* --- pixel bitmap for cmr600 char#94 \^ --- */
+      {  94,123777,                     /* character number, location */
+         57,10,   45,10,      /* topleft row,col, and botleft row,col */
+          { 22,   12, 3,51, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xa2\xe0\x54\xe0\x36\xe0\x18\xd4\x24\xb4\x44\x94\x64"
+            "\x74\x84\x53\xc3\x33\xe3\x13\xe0\x23\x11\xe0\x41\x1c" }  },
+      /* --- pixel bitmap for cmr600 char#95 (noname) --- */
+      {  95,124274,                     /* character number, location */
+         56, 7,   47, 7,      /* topleft row,col, and botleft row,col */
+          {  9,    9, 3,13, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x33\x47\x1f\x49\x17\x43\x38" }  },
+      /* --- pixel bitmap for cmr600 char#96 (noname) --- */
+      {  96,117920,                     /* character number, location */
+         58, 6,   33, 6,      /* topleft row,col, and botleft row,col */
+          { 10,   25, 3,49, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x72\x73\x63\x63\x63\x72\x73\x72\x73\x60\xf1\x12\x73"
+            "\x7f\x32\x82\x23\x39\x1f\x2a\xf1\x19\x27\x53\x34" }  },
+      /* --- pixel bitmap for cmr600 char#97 a --- */
+      {  97,34969,                      /* character number, location */
+         38, 4,   -1, 4,      /* topleft row,col, and botleft row,col */
+          { 38,   39, 3,187, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xa9\xe0\xce\xe0\x85\x76\xe0\x53\xc6\xe0\x25\xc6\xe7"
+            "\xc6\xd8\xb6\xb0\xf1\x28\xc6\xa0\x28\xd6\xc6\xe6\xd4"
+            "\xe0\x16\x90\xf3\xe0\x96\x90\xe0\x3c\xe0\x7e\x03\xe0"
+            "\x4a\x46\xe0\x28\x86\xe8\xa6\xd7\xc6\xc7\xd6\xb7\xe6"
+            "\xa8\xe6\xa7\xe0\x16\x98\xe0\x16\x72\x0f\x27\xe0\x26"
+            "\x72\x0f\x17\xe0\x17\x72\x08\xd8\x72\x17\xd2\x15\x72"
+            "\x18\xb3\x25\x52\x38\x93\x36\x33\x57\x64\x5a\x8d\x88"
+            "\xc8\xb5\x58" }  },
+      /* --- pixel bitmap for cmr600 char#98 b --- */
+      {  98,36103,                      /* character number, location */
+         58, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 40,   59, 3,211, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x66\xe0\xef\x2c\xe0\xe0\x48\xe0\xe0\xfe\x66\xe0\xe0"
+            "\x66\xe0\xe0\x66\x77\xe0\x66\x5c\xe0\x36\x34\x66\xe0"
+            "\x16\x14\xa6\xd9\xd6\xc8\xe0\x16\xb8\xe0\x26\xa7\xe0"
+            "\x46\x96\xe0\x56\x30\xf1\x66\xe0\x66\x20\xf1\x66\xe0"
+            "\x67\x10\x66\xe0\x76\x10\xf9\x66\xe0\x77\x66\xe0\x76"
+            "\x10\xf1\x66\xe0\x67\x10\x66\xe0\x66\x86\xe0\x57\x86"
+            "\xe0\x56\x97\xe0\x36\xa8\xe0\x26\xa5\x12\xe0\x16\xb4"
+            "\x23\xd5\xd4\x33\xb5\xe3\x54\x75\xe0\x22\x8c\xe0\xe0"
+            "\x28\xe2" }  },
+      /* --- pixel bitmap for cmr600 char#99 c --- */
+      {  99,37032,                      /* character number, location */
+         38, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 32,   39, 3,143, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe9\xe0\x6e\x01\xe0\x16\x85\xc5\xd3\x96\xd5\x76\xd7"
+            "\x65\xd8\x56\xd8\x10\xf1\x36\xe8\x10\x26\xe0\x26\x46"
+            "\xe0\x34\x30\xf1\x17\xe0\xa0\x16\xe0\xbf\x97\xe0\xb0"
+            "\xf2\x17\xe0\xa0\x26\xe0\x82\x27\xe0\x72\x36\xe0\x63"
+            "\x46\xe0\x52\x56\xe0\x43\x66\xe0\x23\x86\xe3\xb5\xc3"
+            "\xd6\x75\xe0\x2e\xe0\x78\xa6" }  },
+      /* --- pixel bitmap for cmr600 char#100 d --- */
+      { 100,38115,                      /* character number, location */
+         58, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 40,   59, 3,201, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe6\x60\xf2\xe0\x8c\x60\xe0\xc8\x60\xfe\xe0\xe6"
+            "\x60\xe0\xe6\xe0\x68\x66\xe0\x4c\x46\xe0\x25\x74\x26"
+            "\xe5\xb3\x16\xd5\xd9\xb6\xe0\x18\x60\xf1\x46\xe0\x37"
+            "\x60\x36\xe0\x56\x87\xe0\x56\x86\xe0\x66\x60\xf1\x17"
+            "\xe0\x66\x60\x16\xe0\x76\x6f\x97\xe0\x76\x60\x16\xe0"
+            "\x76\x60\xf1\x17\xe0\x66\x60\xf1\x26\xe0\x66\x60\xf1"
+            "\x36\xe0\x47\x60\x46\xe0\x28\xb6\xe9\xc6\xc3\x18\xb6"
+            "\xa3\x2c\x96\x64\x3c\xbc\x5c\xe7\x76\x62" }  },
+      /* --- pixel bitmap for cmr600 char#101 e --- */
+      { 101,39029,                      /* character number, location */
+         38, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 33,   39, 3,175, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe8\xe0\x8d\xe0\x46\x65\xe0\x15\x96\xb6\xb6\x96\xd6"
+            "\x76\xe0\x15\x75\xe0\x26\x56\xe0\x35\x47\xe0\x36\x36"
+            "\xe0\x55\x27\xe0\x55\x27\xe0\x56\x16\xe0\x66\x0f\x27"
+            "\xe0\x66\x0f\x1e\x0e\x05\x0f\x47\xe0\xc0\x16\xe0\xc0"
+            "\xf1\x17\xe0\xb0\x26\xe0\xd6\xe0\x92\x36\xe0\x82\x36"
+            "\xe0\x73\x46\xe0\x62\x65\xe0\x53\x75\xe0\x33\x95\xe0"
+            "\x13\xb6\xb4\xe6\x74\xe0\x4d\xe0\x98\xa6" }  },
+      /* --- pixel bitmap for cmr600 char#102 f --- */
+      { 102,39974,                      /* character number, location */
+         59, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 29,   59, 3,83, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xe0\x37\xe0\x6b\xe0\x25\x64\xc6\x56\xb6\x58\xf1\x96"
+            "\x68\xf1\x86\x78\x76\xa4\x20\xfc\x76\xe0\x2f\x2e\x08"
+            "\x70\xfe\x76\xe0\x20\xfd\x76\xe0\x20\x68\xe0\x10\xf2"
+            "\x1e\x06\x8f" }  },
+      /* --- pixel bitmap for cmr600 char#103 g --- */
+      { 103,41309,                      /* character number, location */
+         38, 2,  -18, 2,      /* topleft row,col, and botleft row,col */
+          { 39,   56, 3,255, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\x36\xe0\x17\x99\xbd\x44\x44\x86\x56\x13\x55"
+            "\x75\x97\x65\x65\xb5\x75\x55\xd5\x81\x20\xf1\x46\xd6"
+            "\xa0\xf7\x36\xe0\x16\x90\xf1\x46\xd6\xa0\x55\xd5\xe0"
+            "\x35\xb5\xe0\x46\x95\xe0\x58\x56\xe0\x53\x2d\xe0\x72"
+            "\x67\xe0\x50\xf3\x43\xe0\xe0\x40\x44\xe0\xe0\x75\xe0"
+            "\xe0\x75\xe0\xe0\x6e\x07\xe0\x5e\x0a\xe0\x1e\x0c\xe0"
+            "\x1e\x0c\xbe\x0e\x01\x85\xe0\x3a\x65\xe0\x78\x45\xe0"
+            "\xa6\x35\xe0\xb6\x35\xe0\xc6\x1f\x45\xe0\xe5\x16\xe0"
+            "\xc6\x25\xe0\xc5\x45\xe0\xa5\x65\xe0\x85\x85\xe0\x65"
+            "\xa6\xe0\x26\xd7\xa7\xe0\x4e\x04\xe0\xac\xe0" }  },
+      /* --- pixel bitmap for cmr600 char#104 h --- */
+      { 104,42440,                      /* character number, location */
+         58, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 40,   58, 3,128, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x66\xe0\xef\x2c\xe0\xe0\x48\xe0\xe0\xfe\x66\xe0\xe0"
+            "\x66\xe0\xe0\x66\x87\xe0\x56\x5c\xe0\x36\x44\x56\xe0"
+            "\x16\x33\x86\xe6\x23\xa6\xd6\x13\xb6\xd9\xd5\x70\xf1"
+            "\x68\xe6\x60\xf1\x67\xe0\x16\x60\xfe\x66\xe0\x26\x60"
+            "\xf6\x66\xe0\x26\x60\x58\xe8\x5f\x2e\x04\x4e\x04" }  },
+      /* --- pixel bitmap for cmr600 char#105 i --- */
+      { 105,43303,                      /* character number, location */
+         56, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 18,   56, 3,56, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x63\xd7\x70\xf4\x39\x60\x47\xd3\x90\xf9\xe0\x40\x66"
+            "\x6f\x2c\x60\x57\x60\xfe\x66\x60\xfc\x66\x60\x58\x5f"
+            "\x2e\x04" }  },
+      /* --- pixel bitmap for cmr600 char#106 j --- */
+      { 106,44205,                      /* character number, location */
+         56,-4,  -17,-4,      /* topleft row,col, and botleft row,col */
+          { 22,   73, 3,93, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xe0\x23\xe0\x37\x10\xf4\xd9\xe7\xe0\x33\x30\xf9\xe0"
+            "\x80\xe0\x17\xf2\x9d\xe8\xfe\xe0\x26\xfe\xe0\x26\xf7"
+            "\xe0\x26\x24\xa6\x16\x9e\x85\x1f\x18\x76\x18\x75\x27"
+            "\x75\x45\x75\x64\x65\x9b\xd7\x90" }  },
+      /* --- pixel bitmap for cmr600 char#107 k --- */
+      { 107,45431,                      /* character number, location */
+         58, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 40,   58, 3,224, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x66\xe0\xef\x2c\xe0\xe0\x48\xe0\xe0\xfe\x66\xe0\xe0"
+            "\xf1\x66\xe0\xe0\xf2\x66\xbe\x01\x20\x66\xd9\xc6\xd7"
+            "\xe6\xd5\xe0\x26\xd3\xe0\x46\xc3\xe0\x56\xb3\xe0\x66"
+            "\xa3\xe0\x76\x93\xe0\x86\x74\xe0\x96\x63\xe0\xb6\x54"
+            "\xe0\xb6\x46\xe0\xa6\x37\xe0\xa6\x29\xe0\x96\x13\x26"
+            "\xe0\x89\x37\xe0\x77\x66\xe0\x76\x86\xe0\x66\x87\xe0"
+            "\x56\x96\xe0\x56\xa6\xe0\x46\xb6\xe0\x36\xb7\xe0\x26"
+            "\xc6\xe0\x26\xd6\xe0\x16\xd7\xe6\xe6\xe6\xe7\xd6\xe0"
+            "\x17\xb8\xda\x4f\x2e\x04\x6e\x02" }  },
+      /* --- pixel bitmap for cmr600 char#108 l --- */
+      { 108,46192,                      /* character number, location */
+         58, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 18,   58, 3,44, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x66\x6f\x2c\x60\x48\x60\xfe\x66\x60\xfe\x66\x60\xfe"
+            "\x66\x60\xf3\x66\x60\x58\x5f\x2e\x04" }  },
+      /* --- pixel bitmap for cmr600 char#109 m --- */
+      { 109,47587,                      /* character number, location */
+         37, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 64,   37, 3,144, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x66\x88\xe0\x18\xdc\x6c\xbc\xbc\x44\x66\x74\x66\x9c"
+            "\x33\x96\x53\x96\xc8\x23\xb6\x33\xb6\xd6\x13\xc6\x23"
+            "\xc6\xd9\xd6\x13\xd6\x70\xf1\x68\xe0\x18\xe0\x16\x60"
+            "\xf2\x67\xe0\x27\xe0\x26\x60\xfe\x66\xe0\x36\xe0\x36"
+            "\x60\xf5\x66\xe0\x36\xe0\x36\x60\x58\xe0\x18\xe0\x18"
+            "\x5f\x2e\x04\x5e\x04\x5e\x04" }  },
+      /* --- pixel bitmap for cmr600 char#110 n --- */
+      { 110,48752,                      /* character number, location */
+         37, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 40,   37, 3,90, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x66\x87\xdc\x5c\xbc\x44\x56\x9c\x33\x86\xc8\x23\xa6"
+            "\xd6\x13\xb6\xd9\xd5\x70\xf1\x68\xe6\x60\xf1\x67\xe0"
+            "\x16\x60\xfe\x66\xe0\x26\x60\xf6\x66\xe0\x26\x60\x58"
+            "\xe8\x5f\x2e\x04\x4e\x04" }  },
+      /* --- pixel bitmap for cmr600 char#111 o --- */
+      { 111,49565,                      /* character number, location */
+         38, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 38,   39, 3,163, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x18\xe0\xde\xe0\x86\x66\xe0\x45\xc5\xe0\x15\xe5"
+            "\xd5\xe0\x25\xb5\xe0\x45\x50\xf1\x45\xe0\x65\x40\x35"
+            "\xe0\x85\x30\xf1\x26\xe0\x86\x20\xf3\x16\xe0\xa6\x1f"
+            "\x87\xe0\xa7\xf1\x16\xe0\xa6\x10\x17\xe0\x87\x10\xf1"
+            "\x26\xe0\x86\x20\x36\xe0\x66\x75\xe0\x65\x95\xe0\x45"
+            "\xb5\xe0\x25\xd5\xe5\xe0\x15\xc5\xe0\x46\x66\xe0\x8e"
+            "\xe0\xd8\xe0\x16" }  },
+      /* --- pixel bitmap for cmr600 char#112 p --- */
+      { 112,50743,                      /* character number, location */
+         37, 3,  -16, 3,      /* topleft row,col, and botleft row,col */
+          { 40,   53, 3,171, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x66\x77\xec\x5c\xbc\x34\x66\x9c\x14\xa6\xbb\xd6\xc8"
+            "\xe0\x16\xb8\xe0\x17\xa7\xe0\x37\x96\xe0\x56\x30\xf1"
+            "\x66\xe0\x57\x20\xf2\x66\xe0\x67\x10\xf9\x66\xe0\x77"
+            "\xf2\x66\xe0\x67\x10\xf1\x66\xe0\x57\x20\x66\xe0\x47"
+            "\x97\xe0\x36\xa8\xe0\x17\xa8\xe7\xb9\xc6\xd6\x13\xa6"
+            "\xe6\x24\x66\xe0\x26\x4c\xe0\x46\x68\xe0\xfa\x66\xe0"
+            "\xe0\x58\xe0\xdf\x2e\x04\xe0\x86" }  },
+      /* --- pixel bitmap for cmr600 char#113 q --- */
+      { 113,51915,                      /* character number, location */
+         37, 3,  -16, 3,      /* topleft row,col, and botleft row,col */
+          { 40,   53, 3,188, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe8\xa2\xe0\x4c\x73\xe0\x26\x63\x63\xe6\x93\x44\xd6"
+            "\xb3\x34\xb7\xd3\x15\xa7\xe0\x12\x15\xa6\xe0\x28\x97"
+            "\xe0\x37\x87\xe0\x47\x87\xe0\x56\x60\xf2\x17\xe0\x66"
+            "\x6f\x97\xe0\x76\x60\xf2\x17\xe0\x66\x60\x27\xe0\x56"
+            "\x87\xe0\x47\x96\xe0\x47\x97\xe0\x28\xa7\xe0\x18\xb6"
+            "\xe9\xc6\xc3\x16\xd6\xa3\x26\xe0\x16\x64\x36\xe0\x3c"
+            "\x56\xe0\x67\x76\x60\xfa\xe0\xe6\x60\xe0\xd8\x50\xf2"
+            "\xe0\x8e\x04" }  },
+      /* --- pixel bitmap for cmr600 char#114 r --- */
+      { 114,52924,                      /* character number, location */
+         37, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 29,   37, 3,85, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x66\x85\x4c\x69\x2c\x44\x35\x1c\x33\x47\x57\x23\x57"
+            "\x75\x22\x67\x75\x13\x67\x75\x12\x85\x88\xa1\x30\xf3"
+            "\x77\xe0\x10\xfe\x76\xe0\x20\xf4\x76\xe0\x20\x68\xe0"
+            "\x1f\x2e\x07\x86" }  },
+      /* --- pixel bitmap for cmr600 char#115 s --- */
+      { 115,53937,                      /* character number, location */
+         38, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 27,   39, 3,171, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x98\x62\x8d\x33\x65\x88\x54\xc6\x44\xe5\x34\xe0\x24"
+            "\x33\xe0\x43\x2f\x14\xe0\x43\x24\xe0\x52\x2f\x15\xe0"
+            "\x42\x26\xe0\x32\x28\xe0\x6a\xe0\x3e\x01\xde\x03\xbe"
+            "\x04\xae\x05\xae\x04\xce\x02\xe0\x1d\xe0\x58\xe0\x76"
+            "\x12\xe0\x56\x0f\x12\xe0\x65\x0f\x23\xe0\x64\x04\xe0"
+            "\x58\xe0\x53\x15\xe0\x34\x16\xe0\x24\x17\xe4\x28\xc4"
+            "\x34\x24\x85\x43\x5d\x62\x88\x96" }  },
+      /* --- pixel bitmap for cmr600 char#116 t --- */
+      { 116,54866,                      /* character number, location */
+         51, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 25,   52, 3,89, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf4\xa2\xd0\xf3\x93\xd0\xf1\x84\xd0\xf1\x75\xd0\x66"
+            "\xe0\x47\xe0\x2e\x07\x1f\x1e\x0a\x10\xfe\x66\xd0\xf2"
+            "\x66\xd0\xf8\x66\xb2\x76\x93\x76\x92\x95\x83\x96\x72"
+            "\xb6\x53\xdb\xe0\x36\x5e" }  },
+      /* --- pixel bitmap for cmr600 char#117 u --- */
+      { 117,55887,                      /* character number, location */
+         37, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 40,   38, 3,89, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x66\xe0\x26\x6f\x2c\xac\x60\x48\xe8\x60\xfe\x66\xe0"
+            "\x26\x60\xf6\x66\xe0\x26\x60\xf2\x66\xe0\x17\x60\x66"
+            "\xe8\xd5\xe8\xd6\xc9\xe5\xb3\x18\xc6\x93\x2c\x96\x73"
+            "\x3c\xbd\x4c\xe8\x66\x6e" }  },
+      /* --- pixel bitmap for cmr600 char#118 v --- */
+      { 118,56897,                      /* character number, location */
+         36, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 40,   37, 3,183, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\x0e\x03\xad\x58\xe0\x28\x97\xe0\x35\xb7\xe0\x43"
+            "\xd6\xe0\x43\xd6\xe0\x42\xe7\xe0\x23\x70\xf1\x86\xe0"
+            "\x22\x80\xf1\x96\xe2\x90\x97\xc3\x90\xf1\xa6\xc2\xa0"
+            "\xf1\xb6\xa2\xb0\xb7\x83\xb0\xf1\xc6\x82\xc0\xf1\xd6"
+            "\x62\xd0\xd7\x43\xe0\xd6\x42\xe0\xe7\x32\xe0\xf1\xe0"
+            "\x16\x22\xe0\x10\xe0\x1a\xe0\x10\xf1\xe0\x28\xe0\x20"
+            "\xf1\xe0\x36\xe0\x30\xf2\xe0\x44\xe0\x40\xe0\x52\xe0"
+            "\x50" }  },
+      /* --- pixel bitmap for cmr600 char#119 w --- */
+      { 119,58257,                      /* character number, location */
+         36, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 56,   37, 3,299, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\x0e\x03\x3e\x02\x7d\x49\xc8\xc9\x77\xe6\xe0\x15"
+            "\x97\xe6\xe0\x14\xb6\xe6\xe0\x13\xc6\xe0\x15\xe0\x13"
+            "\xd6\xe6\xe2\x70\xf1\x76\xd7\xe2\x70\x86\xc8\xc2\xe0"
+            "\x26\xb2\x25\xc2\xe0\x27\xa2\x25\xb3\xe0\x36\xa2\x26"
+            "\xa2\xe0\x46\x92\x45\xa2\xe0\x47\x82\x45\x93\xe0\x56"
+            "\x82\x46\x82\xe0\x66\x72\x65\x82\xe0\x76\x62\x65\x72"
+            "\xe0\x86\x53\x66\x62\xe0\x86\x52\x85\x62\xe0\x96\x42"
+            "\x85\x52\xe0\xa6\x33\x86\x42\xe0\xa6\x32\xa5\x42\xe0"
+            "\xb6\x22\xa6\x22\xd0\xf1\xd6\x12\xc5\x22\xd0\xe8\xc8"
+            "\xe0\xf1\xe7\xe7\xe0\xe0\x16\xe6\xe0\x10\xf1\xe0\x15"
+            "\xe0\x25\xe0\x10\xe0\x24\xe0\x24\xe0\xe0\x43\xe0\x43"
+            "\xe0\xe0\x52\xe0\x42\xe0\x3e" }  },
+      /* --- pixel bitmap for cmr600 char#120 x --- */
+      { 120,59432,                      /* character number, location */
+         36, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 42,   36, 3,208, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\x0e\x04\x8e\x01\x10\x6a\xb9\xe7\xd6\xe0\x27\xd4"
+            "\xe0\x57\xc3\xe0\x76\xb3\xe0\x96\xa2\xe0\xb6\x82\xe0"
+            "\xc7\x63\xe0\xd6\x53\xe0\xe0\x16\x33\xe0\xe0\x36\x22"
+            "\xe0\xe0\x49\xe0\xe0\x68\xe0\xe0\x76\xe0\xe0\x96\xe0"
+            "\xe0\x87\xe0\xe0\x78\xe0\xe0\x59\xe0\xe0\x43\x26\xe0"
+            "\xe0\x23\x37\xe0\xe0\x12\x57\xe0\xd2\x76\xe0\xc3\x86"
+            "\xe0\xa3\xa6\xe0\x83\xb7\xe0\x63\xd6\xe0\x63\xe6\xe0"
+            "\x35\xe7\xe0\x16\xe0\x17\xba\xd9\x6f\x2e\x01\xae\x03" }  },
+      /* --- pixel bitmap for cmr600 char#121 y --- */
+      { 121,60617,                      /* character number, location */
+         36, 2,  -17, 2,      /* topleft row,col, and botleft row,col */
+          { 40,   53, 3,277, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\x0e\x03\xad\x59\xe0\x18\x97\xe0\x35\xb7\xe0\x43"
+            "\xd6\xe0\x43\xd6\xe0\x42\x70\xf1\x86\xe0\x22\x80\x87"
+            "\xe3\x80\xf1\x96\xe2\x90\xf1\xa6\xc2\xa0\xa7\xa3\xe0"
+            "\x76\xa2\xe0\x87\x92\xb0\xf1\xc6\x82\xc0\xf1\xd6\x62"
+            "\xd0\xd7\x52\xd0\xf1\xe6\x42\xe0\xf1\xe0\x16\x22\xe0"
+            "\x10\xe0\x1a\xe0\x10\xf1\xe0\x28\xe0\x20\xf2\xe0\x36"
+            "\xe0\x30\xf1\xe0\x44\xe0\x40\xf1\xe0\x52\xe0\x50\xf1"
+            "\xe0\x42\xe0\x60\xe0\x33\xe0\x60\xf1\xe0\x32\xe0\x70"
+            "\xe0\x22\xe0\x95\xa2\xe0\x87\x83\xe0\x87\x82\xe0\x97"
+            "\x72\xe0\xa7\x63\xe0\xa6\x72\xe0\xc3\x82\xe0\xe3\x53"
+            "\xe0\xe0\x29\xe0\xe0\x55\xe0\xe0\x20" }  },
+      /* --- pixel bitmap for cmr600 char#122 z --- */
+      { 122,61708,                      /* character number, location */
+         36, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 32,   36, 3,183, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\x2e\x0e\x01\x10\x27\xe8\x35\xe0\x27\x44\xe0\x27"
+            "\x53\xe0\x27\x62\xe0\x28\x53\xe0\x27\x63\xe0\x17\x72"
+            "\xe0\x17\x82\xe8\x82\xe7\x92\xd7\xa2\xc7\xe0\xa8\xe0"
+            "\xa7\xe0\xa7\xc0\xf1\xc7\xd0\xb7\xe0\xa7\xe0\xa8\xd2"
+            "\x97\xe2\x87\xe0\x12\x77\xe0\x22\x68\xe0\x22\x67\xe0"
+            "\x23\x57\xe0\x33\x47\xe0\x42\x48\xe0\x33\x47\xe0\x43"
+            "\x37\xe0\x44\x27\xe0\x45\x18\xe0\x18\x1f\x1e\x0e\x03"
+            "\x10" }  },
+      /* --- pixel bitmap for cmr600 char#123 (noname) --- */
+      { 123,137399,                     /* character number, location */
+         23, 0,   21, 0,      /* topleft row,col, and botleft row,col */
+          { 42,    2, 3, 8, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf1\x0e\x0e\x0e" }  },
+      /* --- pixel bitmap for cmr600 char#124 (noname) --- */
+      { 124,138221,                     /* character number, location */
+         23, 0,   21, 0,      /* topleft row,col, and botleft row,col */
+          { 83,    2, 2, 4, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xff\x01\x00\x53" }  },
+      /* --- pixel bitmap for cmr600 char#125 (noname) --- */
+      { 125,124965,                     /* character number, location */
+         58,11,   43,11,      /* topleft row,col, and botleft row,col */
+          { 24,   15, 3,59, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x54\xa4\x10\xf2\x46\x86\x37\x77\x36\x86\x45\x95\x20"
+            "\xf1\x25\x95\x30\x15\x95\x54\xa4\x63\xb3\x64\xa4\x63"
+            "\xb3\x72\xc2\x80" }  },
+      /* --- pixel bitmap for cmr600 char#126 \~ --- */
+      { 126,125693,                     /* character number, location */
+         55, 7,   47, 7,      /* topleft row,col, and botleft row,col */
+          { 28,    8, 3,33, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x75\xe1\x69\xb3\x4b\x93\x4e\x54\x44\x5e\x43\x9b\x43"
+            "\xb9\x61\xe5\x70" }  },
+      /* --- pixel bitmap for cmr600 char#127 (noname) --- */
+      { 127,126396,                     /* character number, location */
+         56, 8,   47, 8,      /* topleft row,col, and botleft row,col */
+          { 26,    9, 3,31, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x34\xc4\x47\xa7\x28\x88\x1f\x29\x89\x18\x88\x27\xa7"
+            "\x44\xc4\x35" }  },
+      /* --- trailer  --- */
+      { -99, -999,  0,0,0,0, { 0,0,0,0, (pixbyte *)"\0" }  }
+   } ;
+
+
 /* ------------------------------------------------------------------------
-font sizes 0-7 for cmmi10
+font sizes 0-10 for cmmi10
 ------------------------------------------------------------------------ */
 
 /* --- size=0 for .83gf ---
@@ -12130,8 +15903,4552 @@
    } ;
 
 
+/* --- size=8 for .325gf ---
+ * mf '\mode=preview; mag=magstep(-11.40956951729850636869); input cmmi10'
+ * --------------------------------------------------------------------- */
+/* --- fontdef for cmmi325 --- */
+static	chardef  cmmi325[] =
+   {
+      /* --- pixel bitmap for cmmi325 char#0 \Gamma --- */
+      {   0,58867,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 31,   31, 3,89, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x7e\x0a\xb4\xc3\xc4\xd2\x10\xf1\xb4\xe1\x10\xf3\xa4"
+            "\xe0\x11\x10\x94\xe0\x11\x20\xf2\x94\xe0\x40\xf3\x84"
+            "\xe0\x50\xf3\x74\xe0\x60\xf3\x64\xe0\x70\xf3\x54\xe0"
+            "\x80\x45\xe0\x8e\xe0\x33" }  },
+      /* --- pixel bitmap for cmmi325 char#1 \Delta --- */
+      {   1,59814,                      /* character number, location */
+         32, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 33,   32, 3,180, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xa1\xe0\xe0\x32\xe0\xe0\x24\x70\xf1\xe0\x75\x70"
+            "\xe0\x61\x14\xe0\xc1\x25\xe0\xa1\x35\xe0\xa1\x44\xe0"
+            "\x91\x54\xe0\x81\x65\xe0\x61\x75\xe0\x61\x84\xe0\x51"
+            "\x94\xe0\x41\xa5\x40\xf1\xc1\xc4\x40\xb1\xd4\xe1\xe5"
+            "\x30\xf1\x91\xe0\x24\x30\x81\xe0\x34\xa1\xe0\x45\x81"
+            "\xe0\x64\x72\xe0\x64\x71\xe0\x75\x51\xe0\x85\x41\xe0"
+            "\xa4\x32\xe0\xa4\x3e\x0e\x03\x1e\x0e\x0e\x0e\x09" }  },
+      /* --- pixel bitmap for cmmi325 char#2 \Theta --- */
+      {   2,61047,                      /* character number, location */
+         32, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 30,   33, 3,175, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x27\xe0\x63\x63\xe0\x23\xa3\xd3\xc3\xa3\xe3\x93"
+            "\xe0\x23\x74\xe0\x23\x64\xe0\x34\x53\xe0\x53\x44\xe0"
+            "\x53\xf1\x34\xe0\x63\x24\xe0\x73\x24\x41\xb1\x34\x14"
+            "\x41\xb1\x44\xf2\x14\x4d\x44\x0f\x14\x41\xb1\x44\x14"
+            "\xe0\x73\x24\xe0\x64\x24\xe0\x63\x34\xe0\x54\x43\xe0"
+            "\x53\x53\xe0\x43\x64\xe0\x23\x83\xe0\x13\x93\xe3\xb3"
+            "\xc3\xd3\xa3\xe0\x23\x54\xe0\x67\xe0\x1e" }  },
+      /* --- pixel bitmap for cmmi325 char#3 \Lambda --- */
+      {   3,62151,                      /* character number, location */
+         32, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 28,   32, 3,144, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x71\x60\xf1\xe0\x62\x60\xe0\x53\x60\xf1\xe0\x44"
+            "\x60\xf1\xe0\x36\x50\xe0\x21\x24\x50\xf1\xe0\x11\x34"
+            "\x50\xf1\xe1\x44\x50\xf1\xd1\x54\x50\xc1\x64\x50\xf1"
+            "\xb1\x74\x50\xf1\xa1\x85\x40\x91\x95\xc2\xa4\xc1\xb4"
+            "\x40\xf1\x71\xc4\x40\xf1\x61\xd4\x40\x51\xe4\x82\xe4"
+            "\x81\xe0\x14\x64\xe5\x38\x8c" }  },
+      /* --- pixel bitmap for cmmi325 char#4 \Xi --- */
+      {   4,63636,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 34,   31, 3,111, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x8e\x0c\xf1\x7e\x0c\x10\xf1\x71\xe0\xa1\x10\xf1\x61"
+            "\xe0\xa1\x20\xf3\xe0\xe0\x60\xf1\x91\xe0\x21\x70\xf2"
+            "\x8e\x04\x80\x81\xe0\x21\xe0\x11\xe0\x21\x90\xf5\xe0"
+            "\xe0\x60\x21\xe0\xa1\x60\xf2\x11\xe0\xa1\x70\x1e\x0c"
+            "\x7f\x1e\x0c\x84" }  },
+      /* --- pixel bitmap for cmmi325 char#5 \Pi --- */
+      {   5,64941,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 38,   31, 3,77, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x7e\x0e\x03\xb4\xe5\x40\xf2\xb4\xe4\x50\xf3\xa4\xe4"
+            "\x60\xf3\x94\xe4\x70\xf3\x84\xe4\x80\xf3\x74\xe4\x90"
+            "\xf3\x64\xe4\xa0\xf3\x54\xe4\xb0\x45\xd5\xbd\x5d\x70" }  },
+      /* --- pixel bitmap for cmmi325 char#6 \Sigma --- */
+      {   6,66184,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 35,   31, 3,177, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x8e\x0d\x85\xe0\x25\x95\xe0\x43\xa4\xe0\x52\xa5\xe0"
+            "\x42\xb4\xe0\x51\x10\xf1\xa5\xe0\x41\x10\xb4\xe0\x32"
+            "\xc5\xe0\x21\xe4\xe0\xe0\x35\xe0\x40\xf1\xd4\xe0\x40"
+            "\xd5\xe0\xe0\x34\xe0\xe0\x33\xe0\xe0\x51\xe0\xe0\x51"
+            "\xe0\xe0\x51\xe0\xe0\x51\xe0\x31\xe2\xe0\x31\xe1\xe0"
+            "\x51\xd1\xe0\x52\xc1\xe0\x61\xc1\xe0\x62\xb1\xe0\x63"
+            "\x92\xe0\x63\x91\xe0\x56\x8e\x0c\x8e\x0d\x8e" }  },
+      /* --- pixel bitmap for cmmi325 char#7 \Upsilon --- */
+      {   7,67294,                      /* character number, location */
+         32, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 29,   32, 3,113, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x55\xd4\x68\x98\x3a\x6a\x23\x44\x54\x52\x12\x74\x43"
+            "\x71\x11\x93\x33\x82\xa3\x23\x92\xb2\x22\xa1\xc2\x13"
+            "\xe0\x92\x12\xe0\xa5\xc0\xf1\xc4\xd0\xb5\xd0\xf3\xb4"
+            "\xe0\xf3\xa4\xe0\x10\xf3\x94\xe0\x20\xf3\x84\xe0\x30"
+            "\x75\xe0\x4e\x02\xc0" }  },
+      /* --- pixel bitmap for cmmi325 char#8 \Phi --- */
+      {   8,68376,                      /* character number, location */
+         31, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 28,   31, 3,141, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xae\x01\xe0\x45\x80\xf2\xe0\x14\x90\xe4\xe0\x89\xe0"
+            "\x14\x24\x23\xb3\x54\x43\x83\x54\x63\x54\x64\x73\x34"
+            "\x74\x74\x14\x84\x74\x14\x74\x84\x0f\x24\x84\x84\x04"
+            "\x74\x84\x14\x74\x83\x24\x74\x74\x33\x74\x64\x53\x54"
+            "\x63\x83\x44\x44\xa4\x24\x23\xe0\x29\xc0\xf3\x94\xe0"
+            "\x10\x85\xe0\x3e\x02\xa0" }  },
+      /* --- pixel bitmap for cmmi325 char#9 \Psi --- */
+      {   9,69557,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 29,   31, 3,131, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x9e\x01\xe0\x55\xa0\xf2\xe4\xb5\x84\x75\x24\x74\x64"
+            "\x20\xf1\x24\x74\x54\x30\xf3\x24\x64\x54\x40\xf2\x14"
+            "\x64\x54\x50\x14\x64\x44\x74\x54\x54\x74\x54\x44\x93"
+            "\x54\x43\xa3\x54\x34\xb3\x34\x34\xc3\x34\x23\xe0\x23"
+            "\x18\xe0\x57\xe0\x10\xf3\x84\xe0\x30\x75\xe0\x4e\x02"
+            "\xc0" }  },
+      /* --- pixel bitmap for cmmi325 char#10 \Omega --- */
+      {  10,70846,                      /* character number, location */
+         32, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 32,   32, 3,173, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x38\xe0\x73\x73\xe0\x33\xb3\xd3\xe3\xb3\xe0\x23"
+            "\x93\xe0\x33\x83\xe0\x44\x64\xe0\x53\x54\xe0\x63\x54"
+            "\xe0\x54\xf2\x44\xe0\x64\xf1\x44\xe0\x54\x10\xf1\x44"
+            "\xe0\x44\x20\x44\xe0\x34\x83\xe0\x33\x93\xe0\x23\xb2"
+            "\xe0\x13\xc3\xe2\xe2\xd2\xe0\x12\xc2\xe0\x31\xc1\xb1"
+            "\x61\xb1\x71\x41\x61\xa2\x61\x41\x72\x91\x71\x42\x62"
+            "\x81\x71\x59\x99\x59\x8a\x59\x89\x6e" }  },
+      /* --- pixel bitmap for cmmi325 char#11 \alpha --- */
+      {  11,71986,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 25,   19, 3,99, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x95\xe0\x43\x42\xe3\x72\x71\x43\x83\x61\x33\xa2\x61"
+            "\x24\xa3\x41\x33\xb3\x41\x10\xf1\x14\xb3\x31\x24\xc3"
+            "\x21\x3f\x14\xc3\x11\x44\xc4\x54\xc3\x73\xc3\x73\xb4"
+            "\x82\x92\x22\x41\x42\x62\x52\x21\x67\x83\x30" }  },
+      /* --- pixel bitmap for cmmi325 char#12 \beta --- */
+      {  12,73087,                      /* character number, location */
+         31, 1,   -9, 1,      /* topleft row,col, and botleft row,col */
+          { 25,   40, 3,149, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x16\xe0\x41\x53\xe2\x82\xc1\xa2\x10\xf1\xa1\xc2"
+            "\x91\xc3\xf1\x81\xd3\x81\xd2\x81\xd2\x91\xc2\xa1\x46"
+            "\x12\xa1\x41\x53\xb1\x56\x11\xb1\xc2\xa1\xc3\x30\xf3"
+            "\x51\xe2\x30\xf2\x41\xe3\x30\x41\xd3\x72\xd3\x72\xc3"
+            "\x81\x11\xb2\x91\x11\x93\x91\x32\x53\xb1\x56\xb0\xf1"
+            "\x21\xe0\x80\xf3\x11\xe0\x9f\x21\xe0\xa1" }  },
+      /* --- pixel bitmap for cmmi325 char#13 \gamma --- */
+      {  13,74112,                      /* character number, location */
+         19, 1,  -10, 1,      /* topleft row,col, and botleft row,col */
+          { 24,   29, 3,101, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x64\xd1\x48\xa1\x4a\x81\x4b\x81\x33\x73\x61\x41\xb1"
+            "\x61\x31\xc2\x41\x41\xd1\x41\xe0\x41\x31\xe0\x61\x21"
+            "\x50\xf2\xe0\x11\x11\x60\xf1\xe0\x12\x70\xf2\xe0\x11"
+            "\x80\xf2\xe2\x80\xf3\xd2\x90\xf2\xc2\xa0\xc1\xb2" }  },
+      /* --- pixel bitmap for cmmi325 char#14 \delta --- */
+      {  14,75113,                      /* character number, location */
+         32, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   32, 3,103, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xb4\xc9\x81\x54\x72\x63\xf2\x72\x90\xf1\x82\x80\x83"
+            "\x70\xf1\x93\x60\xa3\xe5\xb2\x23\x93\x34\x72\x64\x53"
+            "\x64\x43\x83\x42\x93\x20\xf1\x13\x93\x2f\x23\xa3\x2f"
+            "\x13\xa2\x30\x12\x92\x52\x83\x62\x72\x82\x43\xb5\x83" }  },
+      /* --- pixel bitmap for cmmi325 char#15 \epsilon --- */
+      {  15,76027,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 15,   19, 3,45, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x96\x63\xb3\xb3\xb3\xb4\x90\xf1\x14\xa0\x1c\x2f\x24"
+            "\xb0\xf2\x13\xb0\x23\xd2\xe2\x53\x75\x44" }  },
+      /* --- pixel bitmap for cmmi325 char#16 \zeta --- */
+      {  16,76977,                      /* character number, location */
+         31, 1,   -9, 1,      /* topleft row,col, and botleft row,col */
+          { 20,   40, 3,133, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xd1\x60\xf1\xc1\x70\xd6\xd2\x51\xa2\x25\xa2\xe0\x31"
+            "\xe0\x41\xe0\x42\xe0\x32\xe0\x41\xe0\x42\xe0\xf1\x32"
+            "\xe0\x10\xf1\x22\xe0\x20\xf4\x12\xe0\x3f\x23\xe0\x30"
+            "\x12\xe0\x43\xe0\x34\xe0\x35\xe0\x26\xe0\x18\xe8\xe0"
+            "\x16\xe0\x33\x50\xf1\xd3\x40\xf1\xd2\x50\x72\x32\xe0"
+            "\x14\x70" }  },
+      /* --- pixel bitmap for cmmi325 char#17 \eta --- */
+      {  17,77936,                      /* character number, location */
+         19, 2,  -10, 2,      /* topleft row,col, and botleft row,col */
+          { 20,   29, 3,93, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x34\x65\x41\x32\x32\x42\x21\x42\x21\x63\x11\x44\x73"
+            "\x11\x43\x84\x44\x84\x43\x93\xf1\x53\x93\xf3\x43\x93"
+            "\x10\xf3\x33\x93\x20\x23\x93\x62\x93\x30\xf1\xe3\x30"
+            "\xf3\xd3\x40\xf2\xc3\x50\xc2\x60" }  },
+      /* --- pixel bitmap for cmmi325 char#18 \theta --- */
+      {  18,78754,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 19,   31, 3,115, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xb4\xd2\x41\xb2\x52\x93\x53\x73\x63\x63\x73\x63\x74"
+            "\xf1\x43\x84\x34\x84\x33\x94\x24\x94\x24\x93\x10\xf1"
+            "\x14\x94\x10\x1e\x03\x24\x94\x1f\x24\x94\x24\x93\x34"
+            "\x84\x33\x93\x43\x84\x43\x83\x53\x73\x72\x73\x73\x53"
+            "\x92\x43\xa2\x33\xd4\xb3" }  },
+      /* --- pixel bitmap for cmmi325 char#19 \iota --- */
+      {  19,79485,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 11,   19, 3,45, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x52\x40\xf3\x43\x40\xf2\x33\x50\xf3\x23\x60\x13\x83"
+            "\x61\x12\x74\x61\x13\x51\x32\x32\x54\x54" }  },
+      /* --- pixel bitmap for cmmi325 char#20 \kappa --- */
+      {  20,80439,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 21,   19, 3,85, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x52\x94\x53\x76\x53\x61\x24\x53\x51\x42\x63\x41\xc3"
+            "\x32\xd3\x21\xe0\x15\xe0\x2a\xa3\x64\x60\xf1\x23\x83"
+            "\x50\x23\x93\x40\xf2\x13\x93\x41\x13\xa2\x31\x13\xb2"
+            "\x31\x22\xc4\x23" }  },
+      /* --- pixel bitmap for cmmi325 char#21 \lambda --- */
+      {  21,81338,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 22,   31, 3,118, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x63\xe0\x73\xe0\x54\xa0\xf1\x93\xa0\x94\x90\xf1\xa3"
+            "\x90\xa4\xe0\x53\xe0\x54\x70\xf1\xc3\x70\xc4\x60\xf1"
+            "\xd3\x60\xf1\xd4\x50\xc1\x13\xe0\x21\x24\xe2\x33\xd2"
+            "\x44\xb2\x63\xa2\x73\x92\x84\x63\xa3\x53\xb3\x43\xc4"
+            "\x24\xd3\x23\xe4\x12\xe0\x23" }  },
+      /* --- pixel bitmap for cmmi325 char#22 \mu --- */
+      {  22,82416,                      /* character number, location */
+         19, 1,  -10, 1,      /* topleft row,col, and botleft row,col */
+          { 23,   29, 3,95, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x72\xa2\x20\xf3\x63\x93\x20\xf3\x53\x93\x30\xf3\x43"
+            "\x93\x40\x34\x83\x41\x33\x93\x41\x34\x74\x41\x34\x65"
+            "\x31\x36\x41\x32\x31\x33\x25\x54\x20\xf1\x23\xe0\x40"
+            "\xf3\x13\xe0\x5f\x23\xe0\x62\xe0\x73" }  },
+      /* --- pixel bitmap for cmmi325 char#23 \nu --- */
+      {  23,83263,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 21,   19, 3,75, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x17\xb2\xf2\x43\xb3\x43\xa3\x43\xb3\x10\xf1\x33\xa3"
+            "\x20\x33\x93\x53\xa2\x63\x92\x73\x82\x83\x72\x83\x72"
+            "\x93\x62\xa3\x42\xc3\x23\xc3\x12\xe0\x14\xe0\x30" }  },
+      /* --- pixel bitmap for cmmi325 char#24 \xi --- */
+      {  24,84445,                      /* character number, location */
+         31, 0,   -9, 0,      /* topleft row,col, and botleft row,col */
+          { 20,   40, 3,131, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xc1\x70\xf1\xb1\x80\xc7\xa4\x61\x83\x26\x83\xe0\x23"
+            "\xe0\x24\xb0\xf4\x44\xc0\x53\xe0\x3b\xb3\x61\x91\x27"
+            "\x82\xe0\x32\xe0\x41\xe0\x42\xe0\x20\xf2\x12\xe0\x3f"
+            "\x13\xe0\x30\x12\xe0\x44\xe0\x35\xe0\x26\xe0\x18\xe9"
+            "\xe7\xe0\x15\x40\xf1\xe2\x40\x71\x62\xc2\x32\xe0\x14"
+            "\x64" }  },
+      /* --- pixel bitmap for cmmi325 char#25 \pi --- */
+      {  25,85433,                      /* character number, location */
+         19, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 24,   19, 3,93, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x5e\x05\x4e\x06\x3e\x06\x32\x51\x51\x91\x71\x51\x91"
+            "\x62\x51\xe0\x21\x61\xe0\x21\x52\x80\xf1\x72\x52\x80"
+            "\x71\x62\x80\xf1\x62\x62\x80\x53\x62\xd2\x73\x70\xf1"
+            "\x43\x73\x70\x33\x84\xa2\x92\x75" }  },
+      /* --- pixel bitmap for cmmi325 char#26 \rho --- */
+      {  26,86307,                      /* character number, location */
+         19, 1,  -10, 1,      /* topleft row,col, and botleft row,col */
+          { 22,   29, 3,99, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xc5\xe0\x13\x42\xc2\x72\xa2\x83\x82\x93\x73\x94\x62"
+            "\xa4\xf1\x53\xa4\xf2\x43\xa4\x10\x43\x94\x53\xa4\x53"
+            "\xa3\x64\x83\x74\x73\x73\x21\x43\x93\x35\x90\xf1\x23"
+            "\xe0\x30\xf3\x13\xe0\x4f\x23\xe0\x52\xe0\x60" }  },
+      /* --- pixel bitmap for cmmi325 char#27 \sigma --- */
+      {  27,87255,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 24,   19, 3,69, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x9e\x01\x7e\x03\x5e\x04\x54\x64\x93\x93\x83\xa3\x83"
+            "\xb3\x50\xf1\x13\xc3\x5f\x23\xc3\x6f\x13\xb3\x73\xa3"
+            "\x92\xa2\xb2\x73\xd2\x52\xe0\x26\xe3" }  },
+      /* --- pixel bitmap for cmmi325 char#28 \tau --- */
+      {  28,88074,                      /* character number, location */
+         19, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 21,   19, 3,59, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x5e\x02\x3e\x04\x3e\x03\x32\x61\xa0\xf1\x11\x72\xa0"
+            "\x91\xb0\xf3\x82\xb0\x73\xb0\xf1\x72\xc0\xf2\x63\xc0"
+            "\x53\xe0\x52\xd3" }  },
+      /* --- pixel bitmap for cmmi325 char#29 \upsilon --- */
+      {  29,88993,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 22,   19, 3,89, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x44\xa2\x51\x32\x84\x31\x42\x84\x21\x52\x85\x11\x43"
+            "\xa2\x11\x53\xa2\x11\x53\xb1\x10\xf1\x53\xc1\x10\xf1"
+            "\x43\xc1\x20\xf1\x43\xb1\x30\xf1\x43\xa1\x40\x43\x91"
+            "\xa2\x81\xc2\x52\xe6\x9f" }  },
+      /* --- pixel bitmap for cmmi325 char#30 \phi --- */
+      {  30,89929,                      /* character number, location */
+         31, 2,   -9, 2,      /* topleft row,col, and botleft row,col */
+          { 24,   40, 3,145, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x31\x60\xf3\xe0\x21\x70\xf3\xe0\x11\x80\xf2\xe1"
+            "\x90\xa8\xe3\x21\x33\xa3\x41\x52\x82\x61\x62\x53\x71"
+            "\x63\x42\x71\x82\x33\x71\x82\x10\xf1\x13\x81\x83\x0f"
+            "\x23\x81\x83\x13\x81\x73\x32\x71\x82\x42\x71\x72\x62"
+            "\x61\x62\x82\x51\x43\xa3\x21\x33\xe7\xb0\xf1\x91\xe0"
+            "\xf3\x81\xe0\x10\xf2\x71\xe0\x21" }  },
+      /* --- pixel bitmap for cmmi325 char#31 \chi --- */
+      {  31,91068,                      /* character number, location */
+         19, 1,   -9, 1,      /* topleft row,col, and botleft row,col */
+          { 25,   28, 3,139, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x44\xe0\x21\x31\x23\xe1\x31\x43\xc1\x94\xb1\xa3\xa1"
+            "\xb4\x81\xd3\x71\xe3\x61\xe0\x14\x41\xe0\x33\x31\xe0"
+            "\x43\x21\xe0\x55\xe0\x74\xe0\x73\xb0\xf1\xb4\xa0\xa1"
+            "\x13\xe0\x51\x23\xe0\x41\x43\xe0\x21\x53\xe0\x11\x64"
+            "\xe1\x73\xd1\x83\xc1\x94\xa1\xb3\x91\xc4\x31\x31\xe3"
+            "\x31\x21\xe0\x34\x32" }  },
+      /* --- pixel bitmap for cmmi325 char#32 \psi --- */
+      {  32,92195,                      /* character number, location */
+         31, 2,   -9, 2,      /* topleft row,col, and botleft row,col */
+          { 27,   40, 3,181, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xe0\x51\x70\xf3\xe0\x41\x80\xf3\xe0\x31\x90\xf1"
+            "\xe0\x21\xa0\x44\x81\x62\x51\x32\x71\x54\x31\x42\x61"
+            "\x64\x21\x52\x61\x65\x11\x43\x61\x82\x11\x53\x61\x82"
+            "\x11\x53\x51\xa1\x10\xf1\x53\x61\xa1\x10\x43\x71\x91"
+            "\x63\x61\xa1\x20\xf1\x43\x61\x91\x30\x43\x61\x81\x83"
+            "\x51\x81\x93\x51\x71\xb3\x41\x52\xd4\x21\x32\xe0\x47"
+            "\xb0\xf2\xb1\xe0\x10\xf3\xa1\xe0\x20\xf1\x91\xe0\x35" }  },
+      /* --- pixel bitmap for cmmi325 char#33 \omega --- */
+      {  33,93378,                      /* character number, location */
+         19, 0,    0, 0,      /* topleft row,col, and botleft row,col */
+          { 27,   19, 3,103, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x42\xe0\x32\x52\xe0\x34\x41\xe0\x44\x32\xe0\x45\xf1"
+            "\x21\xe0\x72\x10\x11\xb1\xb1\x10\xf1\x11\xa2\xb1\x11"
+            "\xb2\xa1\x21\xb1\xb1\x21\xb1\xa2\x22\x92\xa1\x32\x84"
+            "\x82\x33\x66\x62\x4b\x1b\x59\x39\x77\x57\x94\x84\x81" }  },
+      /* --- pixel bitmap for cmmi325 char#34 \varepsilon --- */
+      {  34,94397,                      /* character number, location */
+         20, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 18,   21, 3,65, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x96\x9b\x63\x73\x41\xc1\xf3\x31\xe0\x31\x17\xa3\x42"
+            "\x81\x34\x91\xe0\x10\xf1\x11\xe0\x2f\x11\xe0\x32\xd1"
+            "\x31\xc1\x52\x82\x7a\x97\x71" }  },
+      /* --- pixel bitmap for cmmi325 char#35 \vartheta --- */
+      {  35,95456,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 22,   31, 3,135, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x14\xe0\x22\x32\xe1\x53\x10\xf1\xb1\x72\x10\xf2"
+            "\xa1\x83\xf1\xa1\x74\xf1\xb1\x64\x34\x52\x43\x31\x32"
+            "\x61\x24\x21\x42\x76\x21\x43\x85\x11\x43\x84\x1f\x11"
+            "\x43\x84\x20\x53\x84\x73\x83\x73\x84\x30\xf1\x43\x83"
+            "\x40\x43\x73\x92\x83\x83\x73\xa2\x72\xb3\x52\xd2\x42"
+            "\xe0\x15\xb3" }  },
+      /* --- pixel bitmap for cmmi325 char#36 \varpi --- */
+      {  36,96767,                      /* character number, location */
+         19, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 35,   19, 3,123, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x5e\x0e\x02\x4e\x0e\x03\x3e\x0e\x03\x32\x41\xe0\x81"
+            "\x41\x51\xe0\x91\x41\x41\xe0\xa1\x91\xb1\xc1\x81\xc1"
+            "\xc1\x81\xb2\xc1\x71\xc2\xb1\x81\xb3\xb1\x81\xb3\xa2"
+            "\x81\xa4\xa1\x91\x92\x12\x92\x91\x82\x22\x82\xa2\x53"
+            "\x42\x53\xb9\x59\xd7\x77\xe0\x14\xa4\xb3" }  },
+      /* --- pixel bitmap for cmmi325 char#37 \varrho --- */
+      {  37,97722,                      /* character number, location */
+         19, 3,   -9, 3,      /* topleft row,col, and botleft row,col */
+          { 20,   28, 3,95, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xa5\xd3\x42\xa2\x72\x82\x83\x62\x93\x53\x94\x42\xa4"
+            "\xf1\x33\xa4\xf2\x23\xa4\x10\x23\x94\x34\x94\x34\x93"
+            "\x41\x12\x83\x51\x22\x63\x61\x22\x43\x71\x55\x9f\x31"
+            "\xe0\x52\xe0\x4d\x8d\x9b\xe0\x51\x62" }  },
+      /* --- pixel bitmap for cmmi325 char#38 \varsigma --- */
+      {  38,98593,                      /* character number, location */
+         19, 2,   -4, 2,      /* topleft row,col, and botleft row,col */
+          { 16,   23, 3,49, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x88\x53\x62\x42\xd1\xe1\xe2\xdf\x32\xef\x13\xd0\x14"
+            "\xc6\xb7\xb7\xb6\xc4\x40\xf2\xa2\x40\x92\xb4\x64" }  },
+      /* --- pixel bitmap for cmmi325 char#39 \varphi --- */
+      {  39,99546,                      /* character number, location */
+         19, 2,  -10, 2,      /* topleft row,col, and botleft row,col */
+          { 26,   29, 3,133, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x41\xe4\x71\xc7\x51\xc9\x31\xc3\x53\x21\xb2\x82\x11"
+            "\xc1\xa1\xf1\x11\xb1\xb1\x11\xa1\xc3\xa1\xb1\x12\x91"
+            "\xc1\x21\x91\xb1\x31\x91\xa2\x32\x71\xa2\x53\x51\x83"
+            "\x75\x21\x55\x9e\x01\xcd\xe0\x27\xb0\xf2\x82\xe0\x20"
+            "\xf1\x73\xe0\x20\xf1\x72\xe0\x30\xf1\x63\xe0\x30\x62"
+            "\xe0\x45" }  },
+      /* --- pixel bitmap for cmmi325 char#40 \leftharpoonup --- */
+      {  40,116104,                     /* character number, location */
+         23, 3,   10, 3,      /* topleft row,col, and botleft row,col */
+          { 40,   13, 2,30, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x0a\x01\x1d\x00\xff\x01\x09\x02\x1d\x00\xff\x01\x08"
+            "\x02\x1e\x00\x07\x02\x25\x03\x25\x02\x25\x02\x24\x03"
+            "\x24\x03\x24\x4f" }  },
+      /* --- pixel bitmap for cmmi325 char#41 \leftharpoondown --- */
+      {  41,117144,                     /* character number, location */
+         12, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 40,   13, 2,33, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x00\x28\x01\x27\x02\x03\x26\x03\x27\x02\x27\x02\x26"
+            "\x03\x26\x02\x1f\x00\xff\x01\x08\x02\x1e\x00\xff\x01"
+            "\x09\x02\x1d\x00\x0a\x01\x1d" }  },
+      /* --- pixel bitmap for cmmi325 char#42 \rightharpoonup --- */
+      {  42,118182,                     /* character number, location */
+         23, 3,   10, 3,      /* topleft row,col, and botleft row,col */
+          { 40,   13, 2,32, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x1d\x01\x0a\x00\xff\x01\x1d\x02\x09\x00\xff\x01\x1e"
+            "\x02\x08\x00\x1f\x02\x26\x03\x26\x02\x27\x02\x27\x03"
+            "\x26\x03\x02\xff\x01\x28" }  },
+      /* --- pixel bitmap for cmmi325 char#43 \rightharpoondown --- */
+      {  43,119223,                     /* character number, location */
+         12, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 40,   13, 2,31, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x00\x4f\x24\x03\x24\x03\x24\x02\x25\x02\x25\x03\x25"
+            "\x02\x07\x00\xff\x01\x1e\x02\x08\x00\xff\x01\x1d\x02"
+            "\x09\x00\x1d\x01\x0a" }  },
+      /* --- pixel bitmap for cmmi325 char#44 ` --- */
+      {  44,119656,                     /* character number, location */
+         22, 2,   10, 2,      /* topleft row,col, and botleft row,col */
+          {  8,   12, 3,20, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x44\x26\x13\x43\x5f\x32\x63\x63\x66\x44" }  },
+      /* --- pixel bitmap for cmmi325 char#45 ' --- */
+      {  45,120088,                     /* character number, location */
+         22, 2,   10, 2,      /* topleft row,col, and botleft row,col */
+          {  8,   12, 3,21, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x04\x46\x63\x63\xf3\x62\x53\x43\x16\x24\x40" }  },
+      /* --- pixel bitmap for cmmi325 char#46 \triangleright --- */
+      {  46,120637,                     /* character number, location */
+         23, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 20,   24, 3,95, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x02\xe0\x44\xe0\x25\xe0\x12\x14\xd2\x34\xb2\x53\xa2"
+            "\x64\x82\x83\x72\x94\x52\xb4\x32\xd3\x2f\x12\xe4\x02"
+            "\xd3\x22\xb4\x32\x94\x52\x83\x72\x64\x82\x53\xa2\x34"
+            "\xb2\x14\xd5\xe0\x14\xe0\x22\xe0\x43" }  },
+      /* --- pixel bitmap for cmmi325 char#47 \triangleleft --- */
+      {  47,121245,                     /* character number, location */
+         23, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 20,   24, 3,94, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xe0\x42\xe0\x24\xe0\x15\xd4\x12\xb4\x32\xa3\x52\x84"
+            "\x62\x73\x82\x54\x92\x34\xb2\x23\xd2\x0f\x14\xe2\x23"
+            "\xd2\x34\xb2\x54\x92\x73\x82\x84\x62\xa3\x52\xb4\x32"
+            "\xd4\x12\xe0\x15\xe0\x24\xe0\x42" }  },
+      /* --- pixel bitmap for cmmi325 char#48 \0 --- */
+      {  48,106251,                     /* character number, location */
+         20, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   21, 3,51, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x66\xa3\x43\x40\xf1\x23\x83\x20\xf1\x13\xa3\x1f\x84"
+            "\xa4\xf1\x13\xa3\x10\xf1\x23\x83\x20\x43\x43\xa6\x63" }  },
+      /* --- pixel bitmap for cmmi325 char#49 \1 --- */
+      {  49,107058,                     /* character number, location */
+         20, 4,    0, 4,      /* topleft row,col, and botleft row,col */
+          { 15,   20, 3,20, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x81\xb4\x65\x13\x60\xfe\x63\x60\x63\x7e" }  },
+      /* --- pixel bitmap for cmmi325 char#50 \2 --- */
+      {  50,108046,                     /* character number, location */
+         20, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   20, 3,63, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x58\x82\x64\x51\xa3\x31\xb4\x12\xc4\x0f\x13\xb4\xe4"
+            "\xf1\xd4\x10\xc4\xd3\xe3\xd3\xe2\x81\x52\xa1\x42\xa2"
+            "\x3e\x2e\x02\x1e\x03\x11" }  },
+      /* --- pixel bitmap for cmmi325 char#51 \3 --- */
+      {  51,109099,                     /* character number, location */
+         20, 2,  -10, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   30, 3,99, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x66\xa2\x53\x71\x83\x51\xa3\x20\xf2\x14\x84\x10\x23"
+            "\x84\xe3\xe4\xe3\xe3\xe3\xa7\xe0\x33\xe0\x23\xe0\x23"
+            "\xe0\x14\xe0\x13\x10\xf1\xe4\x13\xa4\x0f\x15\x94\x04"
+            "\xa3\x22\xa4\x21\xb3\x41\x93\x63\x53\xa6\x62" }  },
+      /* --- pixel bitmap for cmmi325 char#52 \4 --- */
+      {  52,110072,                     /* character number, location */
+         20, 1,   -9, 1,      /* topleft row,col, and botleft row,col */
+          { 20,   29, 3,87, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf1\xd2\x50\xc3\x50\xf1\xb4\x50\xa1\x13\xe1\x23\xd2"
+            "\x23\xd1\x33\xc1\x43\xb1\x53\xa2\x53\xa1\x63\x91\x73"
+            "\x50\xf1\x31\x83\x50\x21\x93\x61\xa3\x52\xa3\x5e\x06"
+            "\xf7\xc3\x50\x8b\x13" }  },
+      /* --- pixel bitmap for cmmi325 char#53 \5 --- */
+      {  53,111153,                     /* character number, location */
+         20, 2,  -10, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   30, 3,87, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x32\x92\x5c\x6b\x79\x60\xf6\x31\xe0\x31\x26\x91\x11"
+            "\x53\x72\x82\x61\x93\xe0\x14\xe0\x13\x10\xf2\xe4\x13"
+            "\xa4\x0f\x14\xa4\x03\xb3\x21\xc3\x21\xb3\x41\xa3\x51"
+            "\x83\x71\x53\xa6\x73" }  },
+      /* --- pixel bitmap for cmmi325 char#54 \6 --- */
+      {  54,112094,                     /* character number, location */
+         30, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   31, 3,101, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x95\xb2\x51\x83\x71\x63\x73\x52\x74\x42\x84\x33\x92"
+            "\x43\xe4\xd0\xf1\x13\xe4\x35\x64\x21\x43\x44\x11\x72"
+            "\x35\x83\x2f\x15\x93\x1f\x44\xa4\xf1\x13\xa4\x13\xa3"
+            "\x33\x93\x33\x83\x52\x83\x62\x63\x82\x43\xb5\x61" }  },
+      /* --- pixel bitmap for cmmi325 char#55 \7 --- */
+      {  55,113063,                     /* character number, location */
+         20, 2,  -10, 2,      /* topleft row,col, and botleft row,col */
+          { 19,   30, 3,85, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x11\xe0\x4e\x04\xf1\x1e\x03\x10\x11\xe1\x21\xe1\x3f"
+            "\x11\xd1\x40\xd1\x50\xf1\xc1\x60\xb1\xe0\x32\xe0\x31"
+            "\x80\xf1\x92\x80\x83\x80\xf1\x82\x90\xf3\x73\x90\xf5"
+            "\x64\x90\x72\xa3" }  },
+      /* --- pixel bitmap for cmmi325 char#56 \8 --- */
+      {  56,114016,                     /* character number, location */
+         30, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   31, 3,105, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x66\xa2\x62\x71\x92\x52\xa2\x41\xc2\x10\xf2\x12\xc2"
+            "\x10\x13\xb2\x24\x92\x45\x72\x46\x52\x67\x21\x98\xc7"
+            "\xa9\x82\x36\x61\x66\x42\x85\x22\xa4\x22\xc5\xd3\x0f"
+            "\x22\xe2\x02\xe1\x22\xc2\x31\xc1\x51\xa1\x72\x62\xa6"
+            "\x61" }  },
+      /* --- pixel bitmap for cmmi325 char#57 \9 --- */
+      {  57,114981,                     /* character number, location */
+         20, 2,  -10, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   30, 3,99, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x66\xa3\x42\x83\x62\x63\x82\x44\x83\x33\x93\x2f\x24"
+            "\xa3\x1f\x34\xa4\x13\xa4\x13\x95\x23\x85\x32\x71\x14"
+            "\x43\x41\x24\x65\x34\xe4\xf1\xe3\x10\xd4\x32\x93\x34"
+            "\x82\x44\x73\x43\x82\x61\x82\x81\x53\xa6\x82" }  },
+      /* --- pixel bitmap for cmmi325 char#58 . --- */
+      {  58,121782,                     /* character number, location */
+          5, 4,    0, 4,      /* topleft row,col, and botleft row,col */
+          {  5,    5, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xee\xff\xef\x00" }  },
+      /* --- pixel bitmap for cmmi325 char#59 , --- */
+      {  59,122347,                     /* character number, location */
+          5, 4,   -9, 4,      /* topleft row,col, and botleft row,col */
+          {  5,   14, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xee\xfd\xef\x21\x84\x08\x21\x42\x04" }  },
+      /* --- pixel bitmap for cmmi325 char#60 < --- */
+      {  60,123021,                     /* character number, location */
+         25, 4,   -3, 4,      /* topleft row,col, and botleft row,col */
+          { 27,   28, 3,112, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xb2\xe0\x94\xe0\x74\xe0\x74\xe0\x74\xe0\x74\xe0"
+            "\x74\xe0\x83\xe0\x84\xe0\x74\xe0\x74\xe0\x74\xe0\x74"
+            "\xe0\x7f\x14\xe0\x90\x24\xe0\xb4\xe0\xb4\xe0\xb4\xe0"
+            "\xb4\xe0\xb3\xe0\xb4\xe0\xb4\xe0\xb4\xe0\xb4\xe0\xb4"
+            "\xe0\xb4\xe0\xb2" }  },
+      /* --- pixel bitmap for cmmi325 char#61 / --- */
+      {  61,123579,                     /* character number, location */
+         34, 2,  -11, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   45, 3,159, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xe0\x22\xe0\x13\xf1\xe0\x12\x10\xe3\xe0\x12\xe0"
+            "\x13\x20\xf1\xd2\x30\xc3\x30\xf1\xc2\x40\xb3\xe0\x12"
+            "\xe0\x13\x50\xf1\xa2\x60\x93\x60\xf1\x92\x70\x83\xe0"
+            "\x12\xe0\x13\x80\xf1\x72\x90\x63\x90\xf1\x62\xa0\x53"
+            "\xe0\x12\xe0\x13\xb0\xf1\x42\xc0\x33\xc0\xf1\x32\xd0"
+            "\x23\xe0\x12\xe0\x13\xe0\xf1\x12\xe0\x13\xe0\x1f\x12"
+            "\xe0\x20" }  },
+      /* --- pixel bitmap for cmmi325 char#62 > --- */
+      {  62,124318,                     /* character number, location */
+         25, 4,   -3, 4,      /* topleft row,col, and botleft row,col */
+          { 27,   28, 3,113, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x02\xe0\xb4\xe0\xb4\xe0\xb4\xe0\xb4\xe0\xb4\xe0\xb4"
+            "\xe0\xb3\xe0\xb4\xe0\xb4\xe0\xb4\xe0\xb4\xe0\xb4\x20"
+            "\xf1\xe0\x94\xe0\x74\xe0\x74\xe0\x74\xe0\x74\xe0\x74"
+            "\xe0\x83\xe0\x84\xe0\x74\xe0\x74\xe0\x74\xe0\x74\xe0"
+            "\x74\xe0\x92\xe0\xb0" }  },
+      /* --- pixel bitmap for cmmi325 char#63 \star --- */
+      {  63,125051,                     /* character number, location */
+         22, 0,    0, 0,      /* topleft row,col, and botleft row,col */
+          { 23,   22, 3,69, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf3\xb1\xb0\xf3\xa3\xa3\x73\x73\x27\x13\x17\x6e\x01"
+            "\xab\xe7\xe0\x35\xe0\x37\xe0\x14\x14\xe3\x33\xd3\x53"
+            "\xc2\x72\xb2\x92\xa1\xb1\x91\xd1\x44" }  },
+      /* --- pixel bitmap for cmmi325 char#64 \partial --- */
+      {  64,100612,                     /* character number, location */
+         32, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 24,   33, 3,141, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xb6\xe0\x22\x53\xd1\x92\xb1\xb2\x91\xc3\x83\xb2\x20"
+            "\xf1\x54\xb3\x10\x62\xc3\x10\xf1\xe0\x63\x10\xe0\x64"
+            "\xa5\x53\x92\x52\x33\x73\x81\x14\x63\x91\x14\x53\xb5"
+            "\x43\xc5\x34\xc4\x20\xf1\x14\xd4\x20\x14\xd3\x34\xd4"
+            "\x3f\x14\xd3\x4f\x14\xc3\x54\xb3\x73\xb2\x83\xa2\xa3"
+            "\x82\xc3\x53\xe0\x16\xd3" }  },
+      /* --- pixel bitmap for cmmi325 char#65 A --- */
+      {  65, 1066,                      /* character number, location */
+         32, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 31,   32, 3,158, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xe0\x82\x70\xe0\x73\x70\xf1\xe0\x64\x70\xe0\x55"
+            "\xe0\xb6\xe0\xb1\x14\xe0\xa1\x24\xe0\xa1\x25\xe0\x81"
+            "\x44\x60\xf1\xe0\x11\x54\x60\xf1\xe1\x64\x60\xd1\x74"
+            "\x60\xf1\xc1\x84\x60\xb1\x95\xe0\x21\xa4\xe0\x11\xb4"
+            "\xee\x03\xe1\xc4\xd1\xd4\xc2\xd4\xc1\xe4\x50\xf1\x61"
+            "\xe0\x15\x40\x51\xe0\x34\x82\xe0\x34\x73\xe0\x25\x49"
+            "\x9d" }  },
+      /* --- pixel bitmap for cmmi325 char#66 B --- */
+      {  66, 2518,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 32,   31, 3,123, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x7e\x06\xe0\x24\xb3\xe4\xc4\xc4\xd3\xc4\xd4\xf3\xa4"
+            "\xe4\x94\xe4\xa4\xe3\xb4\xd4\xb4\xc4\xb4\xb4\xde\x03"
+            "\xe0\x14\xa5\xd4\xc4\xb4\xe4\x30\xf2\x74\xe0\x14\x20"
+            "\xf2\x64\xe0\x24\x20\x64\xe0\x14\x84\xe0\x24\x84\xe0"
+            "\x14\x94\xe4\xa4\xd4\xa4\xb5\x8e\x07\xb4" }  },
+      /* --- pixel bitmap for cmmi325 char#67 C --- */
+      {  67, 3573,                      /* character number, location */
+         32, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 33,   33, 3,167, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x37\x81\xe4\x62\x52\xc3\xb1\x32\xb3\xe1\x13\xa3"
+            "\xe0\x24\x93\xe0\x34\x83\xe0\x52\x83\xe0\x62\x73\xe0"
+            "\x72\x64\xe0\x72\x63\xe0\x81\x64\xe0\x81\x54\xe0\x91"
+            "\x54\xe0\xd0\xf3\x14\xe0\xef\x24\xe0\xe0\x14\xe0\x91"
+            "\x50\xf1\x13\xe0\x81\x60\xf1\x13\xe0\x71\x70\x23\xe0"
+            "\x51\xa3\xe0\x41\xc3\xe0\x21\xe3\xe1\xe0\x23\xb2\xe0"
+            "\x53\x63\xe0\x97\xe0\x30" }  },
+      /* --- pixel bitmap for cmmi325 char#68 D --- */
+      {  68, 4841,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 34,   31, 3,135, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x7e\x06\xe0\x44\xb3\xe0\x24\xd3\x30\xf1\xb4\xe3\x20"
+            "\xf1\xa4\xe0\x23\x10\xf1\xa4\xe0\x33\xf3\x94\xe0\x43"
+            "\xf3\x84\xe0\x44\xf1\x74\xe0\x44\x10\x74\xe0\x43\x94"
+            "\xe0\x34\x84\xe0\x43\x94\xe0\x34\x94\xe0\x33\xa4\xe0"
+            "\x23\xa4\xe0\x23\xb4\xe0\x13\xc4\xe3\xd4\xc3\xe4\xb3"
+            "\xce\x06\xe0" }  },
+      /* --- pixel bitmap for cmmi325 char#69 E --- */
+      {  69, 6390,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 34,   31, 3,145, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x8e\x0c\xc4\xd4\x10\xf1\xc4\xe0\x12\x10\xc4\xe0\x21"
+            "\x10\xf3\xb4\xe0\x31\x10\xa4\x91\x71\x20\xf1\xa4\x91"
+            "\xa0\xa4\x82\xe0\x54\x82\xe0\x6e\xb0\xf1\x94\x82\xb0"
+            "\xf2\x84\x91\xc0\x84\xe0\x41\x30\xf1\x74\xe0\x41\x40"
+            "\xf1\x74\xe0\x31\x50\x64\xe0\x31\xc4\xe0\x22\xc4\xe0"
+            "\x21\xd4\xe3\xc4\xd5\x8e\x0b\x83" }  },
+      /* --- pixel bitmap for cmmi325 char#70 F --- */
+      {  70, 7771,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 32,   31, 3,107, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x7e\x0b\xb4\xc4\x10\xf1\xb4\xe2\x10\xb4\xe0\x11\x10"
+            "\xf3\xa4\xe0\x21\x10\x94\xe0\x21\x20\xf2\x94\x91\x90"
+            "\x84\x91\xe0\x44\x82\xe0\x4e\xe0\x44\x82\xa0\xf3\x74"
+            "\x91\xb0\xf3\x64\xe0\x80\xf3\x54\xe0\x90\x45\xe0\x9e"
+            "\xe0\x44" }  },
+      /* --- pixel bitmap for cmmi325 char#71 G --- */
+      {  71, 9028,                      /* character number, location */
+         32, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 32,   33, 3,163, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x36\x81\xe3\x62\x52\xc3\xa1\x32\xb3\xd1\x13\xa3"
+            "\xe0\x14\x93\xe0\x24\x83\xe0\x42\x83\xe0\x52\x73\xe0"
+            "\x62\x64\xe0\x62\x20\xf1\x34\xe0\x71\x30\x24\xe0\x81"
+            "\x54\xe0\xc0\xf3\x14\xe0\xd4\xe0\xe4\xdd\x2f\x14\xe0"
+            "\x54\x54\xe0\x44\x60\xf2\x13\xe0\x44\x60\xf1\x23\xe0"
+            "\x24\x70\x33\xe5\xb2\xe1\x13\xc2\xb2\x22\xe3\x72\x51"
+            "\xe0\x37\xe0\x27" }  },
+      /* --- pixel bitmap for cmmi325 char#72 H --- */
+      {  72,10387,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 38,   31, 3,87, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x7d\x5d\xb5\xd5\x40\xf2\xb4\xe4\x50\xf3\xa4\xe4\x60"
+            "\xf3\x94\xe4\x70\x84\xe4\xe0\x2e\x08\x80\xf1\x84\xe4"
+            "\x80\xf3\x74\xe4\x90\xf3\x64\xe4\xa0\xf3\x54\xe4\xb0"
+            "\x45\xd5\xbd\x5d\x74" }  },
+      /* --- pixel bitmap for cmmi325 char#73 I --- */
+      {  73,11240,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 20,   31, 3,53, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x7d\xb5\x40\xf2\xb4\x50\xf3\xa4\x60\xf3\x94\x70\xf3"
+            "\x84\x80\xf3\x74\x90\xf3\x64\xa0\xf3\x54\xb0\x45\xbd"
+            "\x70" }  },
+      /* --- pixel bitmap for cmmi325 char#74 J --- */
+      {  74,12122,                      /* character number, location */
+         31, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 25,   32, 3,89, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xcd\xe0\x35\x30\xf2\xe0\x34\x40\xf3\xe0\x24\x50\xf3"
+            "\xe0\x14\x60\xf3\xe4\x70\xf3\xd4\x80\xf1\xc4\x90\x22"
+            "\x84\xa4\x74\x9f\x15\x64\xa4\x64\xb1\x93\xd1\x73\xe0"
+            "\x11\x53\xe0\x36\xe0\x20" }  },
+      /* --- pixel bitmap for cmmi325 char#75 K --- */
+      {  75,13431,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 38,   31, 3,179, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x7d\x99\xb5\xe0\x15\xd4\xe0\x23\xe0\x14\xe0\x12\xe0"
+            "\x34\xe2\xe0\x34\xe1\xe0\x54\xd1\xe0\x64\xb1\xe0\x84"
+            "\xa1\xe0\x84\xa1\xe0\x94\x81\xe0\xb4\x71\xe0\xc4\x62"
+            "\xe0\xb4\x54\xe0\xb4\x45\xe0\xb4\x31\x24\xe0\xa4\x21"
+            "\x34\xe0\x94\x11\x64\xe0\x85\x74\xe0\x84\x85\xe0\x74"
+            "\x94\xe0\x64\xa4\xe0\xf1\x64\xb4\xd0\x64\xb5\xc0\xf1"
+            "\x54\xd4\xc0\xf1\x54\xe4\xb0\x45\xd6\xad\x6c\x70" }  },
+      /* --- pixel bitmap for cmmi325 char#76 L --- */
+      {  76,14512,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 27,   31, 3,93, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x7e\xe0\x35\xb0\xf2\xb4\xc0\xf3\xa4\xd0\xf3\x94\xe0"
+            "\xf3\x84\xe0\x10\xf2\x74\xe0\x20\x74\xe0\x11\xf1\x64"
+            "\xe0\x11\x10\x64\xe2\x74\xe1\x20\xf1\x54\xe2\x20\x54"
+            "\xd2\x84\xc3\x74\xa5\x4e\x09\x44" }  },
+      /* --- pixel bitmap for cmmi325 char#77 M --- */
+      {  77,15946,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 45,   31, 3,265, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x79\xe0\x69\xb5\xe0\x56\xe0\x11\x14\xe0\x45\xe0\x21"
+            "\x14\xe0\x31\x14\xe0\x21\x14\xe0\x21\x24\xe0\x11\x24"
+            "\xe0\x21\x14\xe0\x21\x24\xe0\x11\x24\x60\xf1\xa1\x24"
+            "\xe1\x34\x60\xf1\x91\x44\xc1\x34\x70\x91\x44\xb1\x44"
+            "\xe0\x21\x44\xa1\x54\xe0\x11\x54\xa1\x44\xe0\x21\x54"
+            "\x91\x54\xe0\x21\x54\x81\x64\xe0\x21\x64\x71\x64\xe0"
+            "\x11\x74\x61\x64\x90\xf1\x71\x74\x51\x74\x90\x71\x74"
+            "\x41\x84\xe0\x11\x84\x41\x74\xe0\x21\x84\x31\x84\xe0"
+            "\x21\x84\x21\x94\xe0\x21\x94\x11\x94\xe0\x11\xa5\x94"
+            "\xb0\xf1\x51\xa4\xa4\xb0\x42\xa3\xb4\xe4\x92\xb5\xba"
+            "\x62\x7d\x70" }  },
+      /* --- pixel bitmap for cmmi325 char#78 N --- */
+      {  78,17294,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 38,   31, 3,201, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x79\xca\xb5\xe0\x14\x30\xf1\xb1\x14\xe0\x11\x50\xb1"
+            "\x15\xe1\xe0\x11\x34\xd1\xe0\x21\x35\xc1\x60\xf1\xa1"
+            "\x44\xc1\x60\xf1\x91\x64\xa1\x70\xf1\x91\x74\x91\x70"
+            "\x81\x85\x71\xe0\x21\x94\x71\xe0\x21\x95\x61\xe0\x21"
+            "\xa4\x61\xe0\x11\xb4\x51\x90\xf1\x71\xc4\x41\x90\x71"
+            "\xd4\x31\xe0\x11\xe4\x21\xa0\xf1\x61\xe0\x14\x11\xa0"
+            "\x61\xe0\x16\xa0\xf1\x51\xe0\x34\xb0\x51\xe0\x43\xe0"
+            "\x12\xe0\x43\xe4\xe0\x41\xca\xe0\x11\xc4" }  },
+      /* --- pixel bitmap for cmmi325 char#79 O --- */
+      {  79,18289,                      /* character number, location */
+         32, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 30,   33, 3,163, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x27\xe0\x63\x63\xe0\x23\xa3\xd3\xc3\xa3\xe3\x93"
+            "\xe0\x23\x73\xe0\x33\x64\xe0\x43\x53\xe0\x53\x43\xe0"
+            "\x63\x34\xe0\x63\x33\xe0\x73\xf1\x24\xe0\x73\xf3\x14"
+            "\xe0\x74\x0f\x14\xe0\x74\x14\xe0\x73\x24\xe0\x64\x24"
+            "\xe0\x63\x34\xe0\x54\x43\xe0\x44\x53\xe0\x43\x64\xe0"
+            "\x23\x83\xe0\x13\x94\xd3\xb3\xc3\xd3\xa3\xe0\x23\x54"
+            "\xe0\x67\xe0\x10" }  },
+      /* --- pixel bitmap for cmmi325 char#80 P --- */
+      {  80,19508,                      /* character number, location */
+         31, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 32,   31, 3,101, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x7e\x05\xe0\x34\xa4\xe4\xc3\x20\xf1\xb4\xd3\x10\xf3"
+            "\xa4\xe4\xf1\x94\xe4\x10\x94\xd4\xb4\xc4\xb4\xc3\xd4"
+            "\xa3\xe0\x1e\x01\xe0\x34\xe0\x60\xf3\x74\xe0\x70\xf3"
+            "\x64\xe0\x80\xf3\x54\xe0\x90\x45\xe0\x9d\xe0\x54" }  },
+      /* --- pixel bitmap for cmmi325 char#81 Q --- */
+      {  81,20613,                      /* character number, location */
+         32, 2,   -9, 2,      /* topleft row,col, and botleft row,col */
+          { 30,   41, 3,215, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x27\xe0\x63\x63\xe0\x23\xa3\xd3\xc3\xa3\xe3\x93"
+            "\xe0\x23\x74\xe0\x23\x64\xe0\x34\x53\xe0\x53\x44\xe0"
+            "\x53\xf1\x34\xe0\x63\x24\xe0\x73\x24\xe0\x64\xf3\x14"
+            "\xe0\x74\x0f\x14\xe0\x74\x14\xe0\x73\x24\xe0\x64\x24"
+            "\xe0\x63\x34\xe0\x54\x43\xe0\x53\x53\x74\x73\x64\x51"
+            "\x41\x53\x83\x41\xa3\x93\x41\x61\x23\xb3\x31\x61\x13"
+            "\xd3\x21\x64\xe0\x24\x44\x71\xc9\x81\xe0\x52\x72\xe0"
+            "\x52\x71\xe0\x62\x62\xe0\x63\x42\xe0\x79\xe0\x78\xe0"
+            "\x96\xe0\xb4\x94" }  },
+      /* --- pixel bitmap for cmmi325 char#82 R --- */
+      {  82,22074,                      /* character number, location */
+         31, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 32,   32, 3,135, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x7e\x04\xe0\x44\x94\xe0\x14\xb3\x30\xf1\xb4\xc3\x20"
+            "\xf3\xa4\xd4\x10\xf1\x94\xd4\x20\x94\xc4\xc4\xb4\xc4"
+            "\xb3\xe4\x93\xe0\x2e\xe0\x44\x83\xe0\x24\xa3\xe0\x14"
+            "\xa4\xe4\xb3\xe4\xb4\x60\xf3\x64\xb4\x70\x54\xb4\x80"
+            "\xf1\x54\xb4\x71\x54\xb4\x61\x55\xc3\x61\x1d\x93\x32"
+            "\xe0\xb5\x43" }  },
+      /* --- pixel bitmap for cmmi325 char#83 S --- */
+      {  83,23245,                      /* character number, location */
+         32, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 26,   33, 3,149, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xd6\x61\xb3\x52\x32\xa2\x91\x12\xa2\xb3\x92\xc3\x83"
+            "\xd2\x82\xe1\x20\xf2\x63\xe1\x20\x63\xe0\x30\xf1\x64"
+            "\xe0\x20\x67\xe0\x5b\xe0\x2c\xe0\x1c\xe0\x3a\xe0\x58"
+            "\xe0\x75\xe0\x84\x40\xf1\xe0\x53\x40\xf1\x21\xe0\x23"
+            "\x40\x21\xe0\x22\x62\xe0\x13\x62\xe0\x12\x72\xe2\x83"
+            "\xc2\x83\x11\xa2\x92\x32\x63\xa1\x67\xc3" }  },
+      /* --- pixel bitmap for cmmi325 char#84 T --- */
+      {  84,24379,                      /* character number, location */
+         31, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 30,   31, 3,105, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x4e\x0c\x34\x74\x83\x42\x94\x92\x41\xa4\xa1\x31\xb4"
+            "\xa1\x31\xa4\xb1\x22\xa4\xb1\x10\xf1\x11\xb4\xb1\x11"
+            "\xb4\xb1\x20\xf2\xc4\xe0\xf3\xb4\xe0\x10\xf3\xa4\xe0"
+            "\x20\xf3\x94\xe0\x30\xf3\x84\xe0\x40\x75\xe0\x5e\x03"
+            "\xc0" }  },
+      /* --- pixel bitmap for cmmi325 char#85 U --- */
+      {  85,25453,                      /* character number, location */
+         31, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 32,   32, 3,115, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x1d\x8a\x55\xe0\x14\x30\xf2\x54\xe0\x31\x50\xf3\x44"
+            "\xe0\x31\x60\xf3\x34\xe0\x31\x70\xf3\x24\xe0\x31\x80"
+            "\xf3\x14\xe0\x31\x9f\x24\xe0\x31\xa4\xe0\x21\xb0\xf1"
+            "\x13\xe0\x11\xc0\x13\xe1\xe0\x13\xb2\xe0\x33\x91\xe0"
+            "\x63\x62\xe0\x97\xe0\x50" }  },
+      /* --- pixel bitmap for cmmi325 char#86 V --- */
+      {  86,26471,                      /* character number, location */
+         31, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 33,   32, 3,175, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0d\xb9\x45\xe0\x34\x74\xe0\x51\x94\xe0\x41\xa5\xe0"
+            "\x31\xb4\xe0\x21\xc4\xe0\x12\xc4\xe0\x11\x80\xf1\x54"
+            "\xe1\x90\x54\xd1\xe0\x15\xb1\xe0\x34\xb1\xe0\x34\xa1"
+            "\xc0\xf1\x64\x91\xd0\x64\x81\xe0\x64\x72\xe0\x65\x61"
+            "\xe0\x75\x51\xe0\x94\x51\xe0\x94\x41\xe0\x30\xf1\x74"
+            "\x31\xe0\x40\x74\x21\xe0\xc4\x11\xe0\xd6\xe0\x60\xf1"
+            "\x84\xe0\x70\x83\xe0\x80\xf1\x82\xe0\x90" }  },
+      /* --- pixel bitmap for cmmi325 char#87 W --- */
+      {  87,27920,                      /* character number, location */
+         31, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 45,   32, 3,257, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0c\x6c\x69\x36\xc5\xc4\x74\xd4\xe2\x84\xd4\xe1\x94"
+            "\xd4\xd1\xa4\xc5\xd1\xa4\xc5\xc1\xb4\xb1\x14\xc1\xb4"
+            "\xb1\x15\xa1\xc4\xa1\x34\xa1\xc4\xa1\x34\x91\xd4\x91"
+            "\x44\x82\xd4\x82\x44\x81\xe4\x81\x54\x71\xe0\x15\x61"
+            "\x64\x71\xe0\x15\x61\x64\x61\xe0\x34\x51\x74\x61\xe0"
+            "\x34\x51\x74\x51\xe0\x44\x41\x84\x51\xe0\x44\x41\x84"
+            "\x41\xe0\x54\x31\x94\x31\xe0\x64\x21\xa4\x31\xe0\x64"
+            "\x21\xa4\x21\xe0\x74\x11\xb4\x21\xe0\x74\x11\xb6\xe0"
+            "\x85\xd5\xe0\x85\xd4\xe0\x94\xe4\xe0\x94\xe3\xe0\xa3"
+            "\xe0\x12\xe0\xb2\xe0\x22\xe0\xb2\xe0\x21\xe0\x75" }  },
+      /* --- pixel bitmap for cmmi325 char#88 X --- */
+      {  88,29267,                      /* character number, location */
+         31, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 38,   31, 3,191, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x8d\x6b\xc6\xc4\xe0\x25\xd2\xe0\x54\xd1\xe0\x65\xb1"
+            "\xe0\x84\xa1\xe0\x95\x81\xe0\xb4\x71\xe0\xc4\x61\xe0"
+            "\xd5\x41\xe0\xe0\x14\x31\xe0\xe0\x25\x11\xe0\x10\xf1"
+            "\xe0\x35\xe0\x20\xf1\xe0\x44\xe0\x20\xe0\x36\xe0\xe0"
+            "\x32\x14\xe0\xe0\x31\x25\xe0\xe0\x11\x44\xe0\xe1\x55"
+            "\xe0\xc1\x65\xe0\xb1\x84\xe0\xa1\x95\xe0\x81\xb4\xe0"
+            "\x71\xc5\xe0\x51\xe4\xe0\x41\xe0\x14\xe0\x32\xe0\x15"
+            "\xe4\xe6\xab\x9c\x64" }  },
+      /* --- pixel bitmap for cmmi325 char#89 Y --- */
+      {  89,30431,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 33,   31, 3,135, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0c\xc9\x45\xe0\x34\x75\xe0\x32\xa4\xe0\x31\xb4\xe0"
+            "\x21\xc5\xe1\xe4\xd2\xe5\xb2\xe0\x15\xb1\xe0\x34\xa1"
+            "\xe0\x45\x81\xe0\x55\x71\xe0\x74\x61\xe0\x85\x41\xe0"
+            "\xa4\x32\xe0\xa5\x21\xe0\xb5\x11\xe0\xd5\xe0\x40\xf2"
+            "\xa4\xe0\x50\xf3\x94\xe0\x60\xf3\x84\xe0\x70\x74\xe0"
+            "\xbd\xe0\x35" }  },
+      /* --- pixel bitmap for cmmi325 char#90 Z --- */
+      {  90,31598,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 31,   31, 3,127, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x9e\x08\x86\xc4\x94\xd4\xa2\xe4\xb1\xe4\xb2\xd4\xc1"
+            "\xd4\xd1\xc5\xd1\xb5\xd1\xc4\xe0\xc4\xe0\xc4\xe0\xc4"
+            "\xe0\xc4\xe0\xc4\xe0\xc4\xe0\xc5\xe0\xc4\xe0\xc4\xe0"
+            "\xc4\xe0\xc4\xc1\xd4\xc1\xd4\xd1\xc4\xd2\xb5\xd1\xb5"
+            "\xd2\xb4\xe2\xa4\xe2\xa4\xe3\x94\xc5\x9e\x08\x94" }  },
+      /* --- pixel bitmap for cmmi325 char#91 \flat --- */
+      {  91,125774,                     /* character number, location */
+         34, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 13,   35, 3,65, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xfd\x01\xc1\x27\x34\x34\x22\x64\x1f\x51\x84\x0f\x11"
+            "\x74\x11\x73\x21\x64\x21\x63\x31\x53\x41\x43\x51\x33"
+            "\x61\x23\x71\x12\x93\xa1\xc1" }  },
+      /* --- pixel bitmap for cmmi325 char#92 \natural --- */
+      {  92,126589,                     /* character number, location */
+         33, 4,  -10, 4,      /* topleft row,col, and botleft row,col */
+          {  9,   43, 3,54, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf9\x01\x81\x63\x45\x26\x0f\x19\x06\x25\x43\x61\x0f"
+            "\xa1\x71\x01\x63\x45\x26\x0f\x19\x06\x25\x43\x61\xf5"
+            "\x81" }  },
+      /* --- pixel bitmap for cmmi325 char#93 \sharp --- */
+      {  93,127520,                     /* character number, location */
+         32, 2,  -10, 2,      /* topleft row,col, and botleft row,col */
+          { 13,   42, 3,95, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf2\xa1\x20\xf5\x21\x71\x20\x21\x73\x21\x55\x21\x28"
+            "\x2e\x08\x28\x21\x25\x51\x23\x71\x20\xfa\x21\x71\x20"
+            "\x21\x73\x21\x55\x21\x28\x2e\x08\x28\x21\x25\x51\x23"
+            "\x71\x20\xf2\x21\x71\x20\xf2\x21\xa0" }  },
+      /* --- pixel bitmap for cmmi325 char#94 \smile --- */
+      {  94,128518,                     /* character number, location */
+         17, 3,    6, 3,      /* topleft row,col, and botleft row,col */
+          { 39,   11, 3,77, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x01\xe0\xe0\x91\x11\xe0\xe0\x71\x31\xe0\xe0\x51\x42"
+            "\xe0\xe0\x32\x52\xe0\xe0\x12\x72\xe0\xd2\xa2\xe0\x92"
+            "\xd3\xe0\x53\xe0\x25\xb5\xe0\x6e\x03\xe0\xc9\xe0\x13" }  },
+      /* --- pixel bitmap for cmmi325 char#95 \frown --- */
+      {  95,129408,                     /* character number, location */
+         18, 3,    6, 3,      /* topleft row,col, and botleft row,col */
+          { 39,   12, 3,80, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xe0\x51\xe0\xe0\x4d\xe0\x9e\x05\xe0\x44\xe0\x14\xe0"
+            "\x12\xe0\x72\xc2\xe0\xb2\x92\xe0\xd2\x71\xe0\xe0\x31"
+            "\x51\xe0\xe0\x51\x20\xf1\x11\xe0\xe0\x71\x11\xe0\xe0"
+            "\x91" }  },
+      /* --- pixel bitmap for cmmi325 char#96 \ell --- */
+      {  96,101478,                     /* character number, location */
+         31, 0,    0, 0,      /* topleft row,col, and botleft row,col */
+          { 18,   31, 3,117, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xd3\xe2\x21\xc2\x41\xf1\xa2\x51\x92\x51\x93\x51\x92"
+            "\x61\x10\xf1\x73\x51\x20\xf1\x63\x51\x30\x63\x41\x93"
+            "\x51\x93\x41\xa3\x31\xb3\x21\x70\xf1\x43\x21\x80\x43"
+            "\x11\xd4\xa0\xf2\x43\xb0\x34\xd1\x13\xc1\x32\xb1\x42"
+            "\x82\x71\x71\x92\x42\xc4\x64" }  },
+      /* --- pixel bitmap for cmmi325 char#97 a --- */
+      {  97,32612,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 19,   19, 3,79, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x84\x32\x83\x31\x13\x72\x64\x63\x64\x53\x83\x44\x73"
+            "\x53\x83\x30\xf1\x14\x83\x3f\x34\x83\x4f\x14\x73\x41"
+            "\x13\x64\x41\x13\x51\x13\x31\x32\x41\x32\x31\x54\x54"
+            "\x24" }  },
+      /* --- pixel bitmap for cmmi325 char#98 b --- */
+      {  98,33520,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 17,   31, 3,85, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x27\x80\xf3\x53\x90\xf3\x43\xa0\xf2\x33\xb0\x33\x25"
+            "\x63\x21\x42\x55\x62\x20\xf1\x23\x83\x10\xf3\x13\x94"
+            "\x0f\x23\x94\x13\x93\x23\x84\x23\x83\x42\x73\x52\x63"
+            "\x72\x43\xa5\x81" }  },
+      /* --- pixel bitmap for cmmi325 char#99 c --- */
+      {  99,34403,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   19, 3,55, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x96\xa3\x52\x63\x73\x43\x74\x33\x84\x24\x83\x33\xd0"
+            "\xf1\x14\xdf\x44\xe0\x13\xc1\x23\xb1\x42\xa1\x62\x63"
+            "\x96\x73" }  },
+      /* --- pixel bitmap for cmmi325 char#100 d --- */
+      { 100,35395,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 21,   31, 3,107, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe7\xf3\xe0\x33\x10\xf3\xe0\x23\x20\xf2\xe0\x13\x30"
+            "\x84\x33\x93\x31\x13\x92\x64\x83\x64\x73\x83\x64\x73"
+            "\x73\x83\x50\xf1\x14\x83\x5f\x34\x83\x6f\x14\x73\x41"
+            "\x20\x13\x64\x41\x33\x51\x13\x31\x52\x41\x32\x31\x74"
+            "\x54\x44" }  },
+      /* --- pixel bitmap for cmmi325 char#101 e --- */
+      { 101,36294,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 17,   19, 3,59, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x95\x93\x52\x63\x81\x43\x91\x33\xa1\x24\x91\x24\x91"
+            "\x34\x54\x49\x7f\x34\xd0\x13\xe3\xc1\x13\xb1\x33\x91"
+            "\x53\x53\x86\x61" }  },
+      /* --- pixel bitmap for cmmi325 char#102 f --- */
+      { 102,37494,                      /* character number, location */
+         31, 2,   -9, 2,      /* topleft row,col, and botleft row,col */
+          { 23,   40, 3,101, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x35\xe0\x22\x33\xe0\x12\x24\xe2\x34\xd3\x42\x10"
+            "\xf2\xd3\x70\xf3\xc3\x80\x8c\x30\xf5\xb3\x90\xf4\xa3"
+            "\xa0\xf4\x93\xb0\xf3\x83\xc0\x82\xe0\x63\xe0\x12\x32"
+            "\xe0\x14\x22\xe4\x22\xe0\x22\x31\xe0\x44\xe0\x31" }  },
+      /* --- pixel bitmap for cmmi325 char#103 g --- */
+      { 103,38525,                      /* character number, location */
+         19, 0,   -9, 0,      /* topleft row,col, and botleft row,col */
+          { 21,   28, 3,109, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xb5\x32\x93\x41\x13\x83\x64\x73\x74\x63\x93\x54\x83"
+            "\x63\x93\x10\xf1\x44\x93\x10\xf3\x34\x93\x20\xf1\x34"
+            "\x83\x30\x43\x74\x82\x61\x13\x83\x41\x13\xb5\x23\x40"
+            "\xf1\xe3\x40\xf1\xd3\x50\x22\x93\x64\x73\x64\x73\x82"
+            "\x64\xa8\xb2" }  },
+      /* --- pixel bitmap for cmmi325 char#104 h --- */
+      { 104,39534,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 21,   31, 3,103, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x47\xa0\xf3\x73\xb0\xf3\x63\xc0\xf2\x53\xd0\x53\x35"
+            "\x93\x22\x42\x83\x11\x63\x74\x73\x73\x83\x64\x83\x30"
+            "\xf2\x33\x93\x30\xf2\x23\x93\x40\x23\x83\x63\x93\x41"
+            "\x13\x83\x51\xf1\x13\x83\x41\x13\xa2\x31\x32\xb4\x32" }  },
+      /* --- pixel bitmap for cmmi325 char#105 i --- */
+      { 105,40458,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 11,   31, 3,75, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x83\xf1\x74\x82\x10\xf7\xb0\x43\x71\x22\x51\x33\x20"
+            "\xf1\x11\x43\x2f\x11\x43\x30\x53\x30\xf1\x43\x40\xf2"
+            "\x33\x50\xf2\x23\x41\x10\x23\x31\x52\x21\x73\x43" }  },
+      /* --- pixel bitmap for cmmi325 char#106 j --- */
+      { 106,41437,                      /* character number, location */
+         31,-1,   -9,-1,      /* topleft row,col, and botleft row,col */
+          { 19,   40, 3,101, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x22\xe0\x24\xe0\x13\xe0\x22\x20\xf7\xe0\x50\xb4"
+            "\xd2\x32\xb1\x52\xb1\x53\x91\x63\x20\xf1\x61\x63\x30"
+            "\xf1\xd3\x30\xf3\xc3\x40\xf3\xb3\x50\xf3\xa3\x60\xf1"
+            "\x93\x70\x22\x53\x84\x33\x84\x33\xa2\x33\xc5\xc4" }  },
+      /* --- pixel bitmap for cmmi325 char#107 k --- */
+      { 107,42492,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 21,   31, 3,115, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x47\xa0\xf3\x73\xb0\xf3\x63\xc0\xf2\x53\xd0\x53\x74"
+            "\x63\x71\x41\x53\x52\x43\x43\x41\x54\x43\x31\x64\x33"
+            "\x31\x73\x43\x21\xe0\x15\xe0\x28\xc3\x44\x80\xf1\x23"
+            "\x63\x70\x23\x64\x60\xf2\x13\x73\x41\x20\x13\x82\x31"
+            "\x33\x92\x31\x42\xa4\x44" }  },
+      /* --- pixel bitmap for cmmi325 char#108 l --- */
+      { 108,43278,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 10,   31, 3,53, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x37\xf3\x63\x10\xf3\x53\x20\xf3\x43\x30\xf3\x33\x40"
+            "\xf3\x23\x50\xf3\x13\x6f\x23\x41\x23\x31\x42\x31\x54"
+            "\x41" }  },
+      /* --- pixel bitmap for cmmi325 char#109 m --- */
+      { 109,44537,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 35,   19, 3,133, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x34\x65\x75\x71\x32\x32\x42\x42\x42\x51\x42\x21\x63"
+            "\x21\x63\x41\x44\x73\x11\x73\x41\x43\x84\x83\x31\x44"
+            "\x84\x83\x31\x43\x93\x93\x30\xf1\x53\x93\x93\x30\xf2"
+            "\x43\x93\x93\x40\x43\x93\x83\x83\x93\x93\x41\xf1\x33"
+            "\x93\x83\x51\x33\x93\x83\x41\x33\x93\xa2\x31\x52\xa2"
+            "\xb4\x30" }  },
+      /* --- pixel bitmap for cmmi325 char#110 n --- */
+      { 110,45646,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 23,   19, 3,97, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x33\x75\x71\x23\x32\x42\x51\x42\x21\x63\x41\x44\x73"
+            "\x41\x43\x83\x31\x44\x83\x31\x43\x93\x30\xf1\x53\x93"
+            "\x30\xf2\x43\x93\x40\x43\x83\x83\x93\x41\xf1\x33\x83"
+            "\x51\x33\x83\x41\x33\xa2\x31\x52\xb4\x33" }  },
+      /* --- pixel bitmap for cmmi325 char#111 o --- */
+      { 111,46448,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 19,   19, 3,65, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x95\xc2\x52\x83\x63\x63\x83\x43\x93\x34\x93\x33\xa4"
+            "\xf1\x14\xa4\x0f\x24\xa4\x14\x94\x24\x93\x43\x93\x43"
+            "\x83\x62\x73\x82\x43\xb6\x93" }  },
+      /* --- pixel bitmap for cmmi325 char#112 p --- */
+      { 112,47472,                      /* character number, location */
+         19,-1,   -9,-1,      /* topleft row,col, and botleft row,col */
+          { 23,   28, 3,111, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x64\x54\x91\x32\x22\x33\x61\x42\x11\x62\x20\xf1\x41"
+            "\x43\x73\x10\xf1\x31\x43\x84\xf1\x83\x84\xf2\x73\x84"
+            "\x10\x73\x83\x83\x84\x83\x83\x93\x73\xa4\x53\xa3\x12"
+            "\x33\xb3\x34\x80\xf1\x53\xe0\x10\xf3\x43\xe0\x20\xf1"
+            "\x33\xe0\x3a\xd3" }  },
+      /* --- pixel bitmap for cmmi325 char#113 q --- */
+      { 113,48457,                      /* character number, location */
+         19, 2,   -9, 2,      /* topleft row,col, and botleft row,col */
+          { 19,   28, 3,97, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x85\x51\x63\x41\x31\x63\x61\x12\x53\x74\x43\x93\x34"
+            "\x83\x43\x93\x20\xf1\x14\x93\x2f\x34\x93\x3f\x14\x83"
+            "\x40\x13\x74\x62\x61\x13\x63\x41\x13\x95\x23\x50\xf1"
+            "\xb3\x50\xf3\xa3\x60\xf1\x93\x70\x5b\x33" }  },
+      /* --- pixel bitmap for cmmi325 char#114 r --- */
+      { 114,49400,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   19, 3,65, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x34\x54\x41\x23\x22\x41\x21\x42\x11\x53\xf1\x11\x43"
+            "\x54\x01\x43\x63\x11\x43\xa0\xf1\x53\xa0\xf3\x43\xb0"
+            "\xf3\x33\xc0\x23\xe0\x22\xd3" }  },
+      /* --- pixel bitmap for cmmi325 char#115 s --- */
+      { 115,50398,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 17,   19, 3,59, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x86\x92\x62\x61\xa1\xf1\x42\x83\x33\x82\x44\xe7\xaa"
+            "\x99\xb6\xe4\x31\xa3\x23\x92\x24\x92\x23\xa1\x31\xb1"
+            "\x52\x72\x87\x73" }  },
+      /* --- pixel bitmap for cmmi325 char#116 t --- */
+      { 116,51174,                      /* character number, location */
+         28, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 14,   28, 3,59, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x82\xc3\x30\xf3\x73\x40\xf2\x63\x5e\xf3\x53\x60\xf3"
+            "\x43\x70\xf3\x33\x80\xf1\x23\x61\x20\xf1\x23\x51\x30"
+            "\x32\x32\x84\x63" }  },
+      /* --- pixel bitmap for cmmi325 char#117 u --- */
+      { 117,52248,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 22,   19, 3,91, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x44\xa2\x51\x32\x83\x41\x42\x83\x31\x52\x83\x31\x43"
+            "\x83\x2f\x11\x53\x73\x30\xf1\x53\x83\x30\xf3\x43\x83"
+            "\x40\x43\x73\x41\x42\x83\x41\x43\x73\x41\x43\x64\x31"
+            "\x62\x42\x22\x31\x75\x54\x23" }  },
+      /* --- pixel bitmap for cmmi325 char#118 v --- */
+      { 118,53189,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 20,   19, 3,85, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x44\x82\x51\x32\x64\x31\x42\x64\x21\x52\x65\x11\x43"
+            "\x82\x11\x53\x82\x11\x53\x91\x10\xf1\x53\xa1\x10\xf2"
+            "\x43\xa1\x20\xf1\x43\x91\x30\x42\x91\x83\x71\x93\x61"
+            "\xb3\x41\xe5\x81" }  },
+      /* --- pixel bitmap for cmmi325 char#119 w --- */
+      { 119,54411,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 30,   19, 3,119, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x44\x92\x72\x51\x32\x73\x64\x31\x42\x73\x64\x21\x52"
+            "\x73\x65\x11\x43\x73\x82\x11\x53\x63\x92\x11\x53\x63"
+            "\xa1\x10\xf1\x53\x73\xa1\x10\xf2\x43\x73\xa1\x20\xf1"
+            "\x43\x73\x91\x30\x43\x73\x81\x83\x64\x81\x83\x61\x12"
+            "\x71\xa3\x41\x23\x42\xd5\x55\x83" }  },
+      /* --- pixel bitmap for cmmi325 char#120 x --- */
+      { 120,55733,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 21,   19, 3,91, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x64\x54\x62\x32\x31\x41\x41\x53\x11\x43\xf1\x21\x73"
+            "\x44\x11\x73\x53\x21\x73\x90\xf1\x93\x90\xf3\x83\xa0"
+            "\x12\x43\x81\x24\x33\x81\x24\x33\x71\x33\x31\x12\x61"
+            "\x51\x31\x32\x41\x73\x55\x61" }  },
+      /* --- pixel bitmap for cmmi325 char#121 y --- */
+      { 121,56857,                      /* character number, location */
+         19, 2,   -9, 2,      /* topleft row,col, and botleft row,col */
+          { 20,   28, 3,113, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x44\xa2\x31\x32\x83\x21\x42\x83\x11\x52\x83\x11\x43"
+            "\x83\x0f\x11\x53\x73\x10\xf1\x53\x83\x10\xf3\x43\x83"
+            "\x20\x43\x73\x72\x83\x73\x73\x73\x64\x82\x45\xa5\x23"
+            "\xe0\x33\xe0\x32\xe0\x33\x64\x72\x74\x63\x73\x63\x82"
+            "\x63\xa1\x52\xd5\xc2" }  },
+      /* --- pixel bitmap for cmmi325 char#122 z --- */
+      { 122,57847,                      /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 19,   19, 3,79, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x73\x81\x65\x61\x68\x22\x62\x64\x71\x91\xe0\x31\xe0"
+            "\x31\xe0\x31\xe0\x31\xe0\x31\xe0\x31\xe0\x22\xe0\x21"
+            "\xe0\x31\xa1\x61\xb1\x55\x62\x61\x39\x51\x57\x51\x83"
+            "\x70" }  },
+      /* --- pixel bitmap for cmmi325 char#123 \imath --- */
+      { 123,102288,                     /* character number, location */
+         19, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 10,   19, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x70\x20\x43\x9c\x70\xc2\x85\x13\x0e\x38\x70\xc0\x81"
+            "\x03\x0e\x38\x70\xc8\x21\x87\x1c\x61\x02\x07" }  },
+      /* --- pixel bitmap for cmmi325 char#124 \jmath --- */
+      { 124,103119,                     /* character number, location */
+         19,-1,   -9,-1,      /* topleft row,col, and botleft row,col */
+          { 17,   28, 3,75, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xa4\xc1\x33\x91\x52\x10\xf1\x71\x63\xf1\x61\x63\x10"
+            "\xf1\xd3\x10\xf3\xc3\x20\xf3\xb3\x30\xf3\xa3\x40\xf1"
+            "\x93\x50\x22\x53\x64\x33\x64\x42\x82\x33\xa5\xa0" }  },
+      /* --- pixel bitmap for cmmi325 char#125 \wp --- */
+      { 125,104306,                     /* character number, location */
+         20, 3,  -10, 3,      /* topleft row,col, and botleft row,col */
+          { 25,   30, 3,161, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x63\xe0\x72\xe0\x81\xa6\x72\x82\x52\x61\x81\x82\x42"
+            "\x62\xa2\x31\x61\xc2\x22\x51\xd2\x10\xf1\x12\x41\xe3"
+            "\x03\x31\xe3\x1f\x13\x21\xe0\x13\x13\x11\xe0\x13\x34"
+            "\xe0\x13\x34\x52\x82\x54\x41\x82\x74\x31\x72\x71\x13"
+            "\x41\x43\x81\x14\x45\xa1\x24\xe0\x41\x33\xe0\x20\xf3"
+            "\x11\x52\xe0\x20\x11\x42\xe0\x41\x41\xe0\x51\x31\xe0"
+            "\x73\xe0\x61" }  },
+      /* --- pixel bitmap for cmmi325 char#126 \vec --- */
+      { 126,105018,                     /* character number, location */
+         32, 8,   23, 8,      /* topleft row,col, and botleft row,col */
+          { 20,    9, 3,37, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xe0\x21\x30\xf1\xe0\x22\x20\xe0\x23\x1f\x1e\x06\xe0"
+            "\x13\xe0\x23\xe0\x32\x42" }  },
+      /* --- pixel bitmap for cmmi325 char#127 (noname) --- */
+      { 127,105566,                     /* character number, location */
+         30,12,   24,12,      /* topleft row,col, and botleft row,col */
+          { 16,    6, 3,22, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x67\x72\x62\x42\xa1\x10\xf1\x11\xd1\x01\xe1" }  },
+      /* --- trailer  --- */
+      { -99, -999,  0,0,0,0, { 0,0,0,0, (pixbyte *)"\0" }  }
+   } ;
+
+
+/* --- size=9 for .450gf ---
+ * mf '\mode=preview; mag=magstep(-9.62468787106292402266); input cmmi10'
+ * --------------------------------------------------------------------- */
+/* --- fontdef for cmmi450 --- */
+static	chardef  cmmi450[] =
+   {
+      /* --- pixel bitmap for cmmi450 char#0 \Gamma --- */
+      {   0,61425,                      /* character number, location */
+         43, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 42,   43, 3,153, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xae\x0e\x04\xe0\x25\xe6\xe0\x35\xe0\x24\xe0\x35"
+            "\xe0\x33\xe0\x25\xe0\x43\x10\xf2\xe0\x15\xe0\x52\x10"
+            "\xf2\xe5\xe0\x62\x10\xe5\xe0\x52\xe0\x15\xe0\x62\x20"
+            "\xf2\xd5\xe0\xa0\xf3\xc5\xe0\xb0\xf3\xb5\xe0\xc0\xf3"
+            "\xa5\xe0\xd0\xf3\x95\xe0\xe0\xf3\x85\xe0\xe0\x10\xf2"
+            "\x75\xe0\xe0\x20\x66\xe0\xe0\x2f\x1e\x05\xe0\x93" }  },
+      /* --- pixel bitmap for cmmi450 char#1 \Delta --- */
+      {   1,62402,                      /* character number, location */
+         45, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 46,   45, 3,324, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\x52\xe0\xe0\xe0\x14\xa0\xf1\xe0\xe0\x35\xa0"
+            "\xe0\xe0\x26\xe0\xe0\xb8\xe0\xe0\x99\xe0\xe0\x92\x25"
+            "\xe0\xe0\x82\x35\xe0\xe0\x72\x46\xe0\xe0\x53\x46\xe0"
+            "\xe0\x52\x65\xe0\xe0\x42\x75\xe0\xe0\x32\x86\xe0\xe0"
+            "\x13\x86\xe0\xe0\x12\xa5\xe0\xe2\xb5\xe0\xd2\xc6\xe0"
+            "\xb3\xc6\xe0\xb2\xe5\xe0\xa2\xe0\x15\xe0\x92\xe0\x26"
+            "\xe0\x73\xe0\x26\xe0\x72\xe0\x45\xe0\x62\xe0\x55\xe0"
+            "\x52\xe0\x66\xe0\x33\xe0\x66\xe0\x32\xe0\x85\xe0\x22"
+            "\xe0\x95\xe0\x12\xe0\xa6\xd3\xe0\xa6\xd2\xe0\xc5\xc2"
+            "\xe0\xd5\xb2\xe0\xe6\x93\xe0\xe6\x92\xe0\xe0\x16\x82"
+            "\xe0\xe0\x35\x72\xe0\xe0\x46\x53\xe0\xe0\x46\x52\xe0"
+            "\xe0\x56\x42\xe0\xe0\x75\x3e\x0e\x0e\x02\xf1\x1e\x0e"
+            "\x0e\x03\x0e\x0e\x0e\x04" }  },
+      /* --- pixel bitmap for cmmi450 char#2 \Theta --- */
+      {   2,63681,                      /* character number, location */
+         44, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 43,   45, 3,295, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x98\xe0\xe0\x34\x74\xe0\xc4\xb4\xe0\x84\xe4\xe0"
+            "\x54\xe0\x34\xe0\x34\xe0\x54\xe0\x14\xe0\x74\xd4\xe0"
+            "\x85\xa5\xe0\xa4\xa4\xe0\xb5\x85\xe0\xb5\x75\xe0\xc5"
+            "\x65\xe0\xd6\x46\xe0\xd6\x45\xe0\xe6\x36\xe0\xe6\x35"
+            "\xe0\xe0\x16\x26\xe0\xe0\x16\x26\x41\xe0\x51\x46\x16"
+            "\x42\xe0\x42\x46\xf1\x16\x4e\x08\x46\x0f\x26\x4e\x08"
+            "\x46\x16\x42\xe0\x42\x45\x26\x41\xe0\x51\x46\x25\xe0"
+            "\xe0\x26\x2f\x15\xe0\xe0\x16\x35\xe0\xe0\x15\x45\xe0"
+            "\xe5\x55\xe0\xd6\x55\xe0\xd5\x75\xe0\xb5\x85\xe0\xa5"
+            "\x95\xe0\xa4\xb4\xe0\x94\xd4\xe0\x74\xe5\xe0\x54\xe0"
+            "\x24\xe0\x35\xe0\x44\xe0\x14\xe0\x84\xb4\xe0\xc4\x74"
+            "\xe0\xe0\x29\xe0\x90" }  },
+      /* --- pixel bitmap for cmmi450 char#3 \Lambda --- */
+      {   3,64811,                      /* character number, location */
+         45, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 39,   45, 3,242, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xe0\xe0\x13\x70\xf1\xe0\xe4\x70\xf1\xe0\xd5\x70"
+            "\xe0\xc6\x70\xf1\xe0\xb7\x70\xe0\xa2\x15\xe0\xe0\x32"
+            "\x16\x60\xf1\xe0\x92\x26\x60\xe0\x82\x36\xe0\xd3\x45"
+            "\xe0\xd2\x55\x60\xf1\xe0\x62\x65\x60\xf1\xe0\x52\x75"
+            "\x60\xe0\x42\x85\xe0\x93\x85\xe0\x92\x95\x60\xf1\xe0"
+            "\x22\xa5\x60\xf1\xe0\x12\xb6\x50\xf1\xe2\xc6\x50\xd2"
+            "\xe5\x50\xf1\xc2\xe0\x15\x50\xf1\xb2\xe0\x25\x50\xf1"
+            "\xa2\xe0\x35\x50\x92\xe0\x45\x50\xf1\x82\xe0\x55\x50"
+            "\x72\xe0\x65\xc2\xe0\x66\xa3\xe0\x66\x86\xe0\x47\x4d"
+            "\xbe\x0e\xae\x02" }  },
+      /* --- pixel bitmap for cmmi450 char#4 \Xi --- */
+      {   4,66346,                      /* character number, location */
+         43, 4,    0, 4,      /* topleft row,col, and botleft row,col */
+          { 45,   43, 3,165, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xbe\x0e\x06\xf2\xae\x0e\x06\x10\xf1\x92\xe0\xe0\x32"
+            "\x10\xf2\x82\xe0\xe0\x42\x10\xf6\xe0\xe0\xe0\x30\xc2"
+            "\xe0\x62\x90\xf1\xb2\xe0\x62\xa0\xf1\xbe\x0a\xa0\xf1"
+            "\xae\x0a\xb0\xf1\xa2\xe0\x62\xb0\x92\xe0\x62\xc0\xf6"
+            "\xe0\xe0\xe0\x30\xf2\x12\xe0\xe0\x42\x80\xf1\x12\xe0"
+            "\xe0\x32\x90\x12\xe0\xe0\x23\xae\x0e\x06\xae\x0e\x07"
+            "\xaf\x1e\x0e\x06\xb0" }  },
+      /* --- pixel bitmap for cmmi450 char#5 \Pi --- */
+      {   5,67677,                      /* character number, location */
+         43, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 52,   43, 3,145, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xae\x0e\x0e\xe0\x25\xe0\x56\x60\xf1\xe0\x25\xe0"
+            "\x55\x70\xf3\xe0\x15\xe0\x55\x80\xf3\xe5\xe0\x55\x90"
+            "\xf3\xd5\xe0\x55\xa0\xf3\xc5\xe0\x55\xb0\xf3\xb5\xe0"
+            "\x55\xc0\xf3\xa5\xe0\x55\xd0\xf3\x95\xe0\x55\xe0\xf3"
+            "\x85\xe0\x55\xe0\x10\xf2\x75\xe0\x55\xe0\x20\x66\xe0"
+            "\x46\xe0\x2f\x1e\x04\x6e\x04\xae" }  },
+      /* --- pixel bitmap for cmmi450 char#6 \Sigma --- */
+      {   6,68966,                      /* character number, location */
+         43, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 48,   43, 2,145, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0b\x25\x0a\x26\x0b\x06\x16\x08\x0c\x06\x19\x05\x0d"
+            "\x06\x19\x04\x0d\x06\x1a\x03\x0e\x05\x1a\x03\x01\x00"
+            "\xff\x01\x0d\x06\x19\x03\x01\x00\xff\x01\x0e\x06\x19"
+            "\x02\x01\x00\x0f\x06\x18\x02\x10\x06\x17\x02\x12\x06"
+            "\x16\x02\x12\x06\x2b\x05\x1a\x00\xff\x01\x11\x06\x19"
+            "\x00\xff\x01\x12\x06\x18\x00\xff\x01\x13\x06\x17\x00"
+            "\x14\x04\x2c\x03\x2d\x02\x2c\x03\x2c\x03\x2c\x03\x2c"
+            "\x03\x17\x02\x13\x02\x18\x02\x13\x02\x19\x02\x12\x02"
+            "\x19\x02\x12\x02\x1a\x02\x11\x02\x1a\x03\x10\x02\x1b"
+            "\x02\x10\x02\x1b\x03\x0f\x02\x1b\x03\x0e\x03\x1b\x04"
+            "\x0d\x03\x1a\x06\x0c\x03\x17\x09\x0c\x24\x0b\x25\x0a"
+            "\x25\x0b" }  },
+      /* --- pixel bitmap for cmmi450 char#7 \Upsilon --- */
+      {   7,70138,                      /* character number, location */
+         44, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 42,   44, 3,183, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x86\xe0\x46\xaa\xea\x6d\xbd\x4e\x01\x9e\x3e\x02\x8e"
+            "\x02\x14\x86\x65\x84\x13\xa5\x55\xa6\xc4\x54\xc4\xe3"
+            "\x44\xd4\xe4\x24\xe2\xe0\x24\x23\xe0\xe0\x54\x14\xe0"
+            "\xe0\x54\x13\xe0\xe0\x68\xe0\xe0\x76\xe0\xe0\x77\xe0"
+            "\x50\xf2\xe0\x26\xe0\x60\xf2\xe0\x25\xe0\x70\xf3\xe0"
+            "\x15\xe0\x80\xf3\xe5\xe0\x90\xf3\xd5\xe0\xa0\xf3\xc5"
+            "\xe0\xb0\xf2\xb5\xe0\xc0\xa6\xe0\xc0\xf1\x2e\x07\xe0"
+            "\x50" }  },
+      /* --- pixel bitmap for cmmi450 char#8 \Phi --- */
+      {   8,71250,                      /* character number, location */
+         43, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 40,   43, 3,223, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x1e\x07\xe0\x4e\x07\xe0\xd6\xc0\xf1\xe0\x85\xd0"
+            "\xf2\xe0\x75\xe0\xe0\x4a\xe0\xc4\x25\x25\xe0\x54\x55"
+            "\x54\xe0\x14\x75\x64\xd4\x85\x75\x95\x85\x95\x75\x95"
+            "\x95\x65\xa5\xa5\x45\xb5\xa5\x36\xa5\xb5\x35\xb5\xb6"
+            "\xf1\x16\xb5\xb6\x0f\x26\xb5\xb6\x16\xb5\xa6\x26\xa5"
+            "\xb5\x45\xa5\xa6\x45\xa5\xa5\x55\xa5\x95\x75\x85\x95"
+            "\x94\x85\x84\xc4\x75\x64\xe0\x24\x55\x44\xe0\x64\x25"
+            "\x25\xe0\xbb\xe0\x40\xf1\xe5\xe0\x70\xf2\xd5\xe0\x80"
+            "\xc6\xe0\x80\xf1\x4e\x07\xe0\x10" }  },
+      /* --- pixel bitmap for cmmi450 char#9 \Psi --- */
+      {   9,72487,                      /* character number, location */
+         43, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 42,   43, 3,233, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xde\x07\xe0\x6e\x07\xe0\xe0\x16\xe0\x20\xf1\xe0\x65"
+            "\xe0\x30\xf2\xe0\x55\xe0\x46\xd5\xb7\x25\xb5\xb5\x65"
+            "\xa5\xa5\x75\xa5\x95\x85\xa5\x85\x95\x95\x95\x60\xf2"
+            "\x35\x95\x85\x70\xf2\x25\x95\x85\x80\x25\x95\x84\xb5"
+            "\x85\x85\xb4\x95\x85\x90\xf1\x24\x95\x75\xa0\x24\x85"
+            "\x75\xd4\x85\x74\xe5\x75\x65\xe0\x14\x75\x64\xe0\x24"
+            "\x65\x64\xe0\x44\x55\x54\xe0\x63\x55\x44\xe0\x83\x45"
+            "\x24\xe0\xb4\x15\x14\xe0\xe0\x29\xe0\x90\xf1\xc5\xe0"
+            "\xb0\xf2\xb5\xe0\xc0\xa6\xe0\xc0\xf1\x2e\x07\xe0\x52" }  },
+      /* --- pixel bitmap for cmmi450 char#10 \Omega --- */
+      {  10,73830,                      /* character number, location */
+         44, 5,    0, 5,      /* topleft row,col, and botleft row,col */
+          { 45,   44, 3,287, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x9a\xe0\xe0\x44\x84\xe0\xc5\xc4\xe0\x85\xe0\x24"
+            "\xe0\x54\xe0\x54\xe0\x25\xe0\x65\xe5\xe0\x85\xc5\xe0"
+            "\x95\xb5\xe0\xa6\x96\xe0\xb5\x10\xf1\x76\xe0\xc5\x10"
+            "\x66\xe0\xd6\x66\xe0\xd5\x10\xf2\x56\xe0\xd6\x10\x56"
+            "\xe0\xd5\x76\xe0\xc6\x76\xe0\xc5\x86\xe0\xb6\x86\xe0"
+            "\xb5\x96\xe0\xa5\xb5\xe0\xa5\xb5\xe0\x95\xc5\xe0\x85"
+            "\xe4\xe0\x84\xe0\x14\xe0\x74\xe0\x33\xe0\x64\xe0\x44"
+            "\xe0\x53\xe0\x63\xe0\x43\xe0\x73\xe0\x33\xe0\x92\xe0"
+            "\x32\xe0\xa2\xe0\x22\xe0\x12\x82\xe0\x12\x82\x62\x92"
+            "\xe1\x92\x62\x92\xd2\x82\x72\x92\xd1\x92\x72\x92\xc1"
+            "\x92\x83\x91\xc1\x92\x8d\xbd\x8d\xbc\x9c\xbd\x9c\xbc"
+            "\xae" }  },
+      /* --- pixel bitmap for cmmi450 char#11 \alpha --- */
+      {  11,75026,                      /* character number, location */
+         28, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 35,   29, 3,191, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xd7\xe0\xc3\x53\xe0\x83\x83\xe0\x63\xa3\x92\x64\xb3"
+            "\x92\x54\xd3\x82\x53\xe4\x62\x54\xe4\x62\x44\xe0\x14"
+            "\x62\x35\xe0\x14\x52\x45\xe0\x15\x42\x20\xf1\x15\xe0"
+            "\x34\x32\x30\x15\xe0\x34\x22\x45\xe0\x44\x22\x45\xe0"
+            "\x44\x12\x55\xe0\x46\x65\xe0\x37\x65\xe0\x36\x7f\x14"
+            "\xe0\x45\x84\xe0\x54\x93\xe0\x45\x94\xe0\x26\x94\xe0"
+            "\x12\x14\x52\x33\xd2\x34\x51\x53\xa3\x53\x42\x63\x64"
+            "\x82\x32\x98\xc4\x50" }  },
+      /* --- pixel bitmap for cmmi450 char#12 \beta --- */
+      {  12,76181,                      /* character number, location */
+         44, 0,  -12, 0,      /* topleft row,col, and botleft row,col */
+          { 36,   56, 3,295, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x97\xe0\xd2\x63\xe0\x92\xa2\xe0\x72\xc2\xe0\x51"
+            "\xe3\xe0\x32\xe3\xe0\x22\xe0\x14\xe2\xe0\x24\xe1\xe0"
+            "\x34\xd2\xe0\x34\xc2\xe0\x43\xd2\xe0\x34\x10\xf1\xb2"
+            "\xe0\x43\x20\xb1\xe0\x43\xd2\xe0\x33\xe2\xe0\x23\xe0"
+            "\x12\x59\x13\xe0\x12\x52\x73\xe0\x32\x68\x22\xe0\x22"
+            "\xe0\x32\xe0\x12\xe0\x42\x50\xf1\x82\xe0\x53\x40\xf1"
+            "\x82\xe0\x63\x30\xf2\x72\xe0\x73\x30\x72\xe0\x64\x30"
+            "\xf3\x62\xe0\x74\x30\xf1\x53\xe0\x64\x40\x53\xe0\x54"
+            "\xa3\xe0\x53\xa4\xe0\x43\xb4\xe0\x33\xc2\x12\xe0\x13"
+            "\xd2\x21\xe3\xd2\x41\xb4\xe2\x52\x74\xe0\x22\x78\xe0"
+            "\x52\xe0\xe0\x30\xf3\x22\xe0\xe0\x40\xf3\x12\xe0\xe0"
+            "\x5f\x12\xe0\xe0\x60" }  },
+      /* --- pixel bitmap for cmmi450 char#13 \gamma --- */
+      {  13,77242,                      /* character number, location */
+         28, 1,  -13, 1,      /* topleft row,col, and botleft row,col */
+          { 33,   41, 3,169, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xa5\xe0\xba\xe2\x6c\xc2\x6e\xb2\x54\x75\x92\x54\xa3"
+            "\x92\x43\xd3\x72\x52\xe0\x12\x72\x43\xe0\x13\x52\x52"
+            "\xe0\x32\x52\x4f\x12\xe0\x42\x42\x50\xe0\x72\x32\x50"
+            "\xf1\xe0\x72\x22\x60\xf2\xe0\x72\x12\x70\xf2\xe0\x74"
+            "\x80\xf2\xe0\x73\x90\xf2\xe0\x72\xa0\xf1\xe0\x63\xa0"
+            "\xe0\x62\xb0\xf3\xe0\x53\xb0\xf3\xe0\x43\xc0\xe0\x42"
+            "\xe0\xe0\x23\xe0\xe0\x31\xe0" }  },
+      /* --- pixel bitmap for cmmi450 char#14 \delta --- */
+      {  14,78283,                      /* character number, location */
+         44, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 25,   45, 3,165, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe7\xe0\x2d\xb1\x58\xa1\x86\xa1\xa3\x10\xf2\xa2\xd0"
+            "\xa3\xc0\xf1\xb3\xb0\xb4\xe0\x84\xe0\x75\xe0\x75\xe0"
+            "\x75\xe0\x56\xe0\x33\x15\xe3\x36\xc2\x65\xb2\x75\x40"
+            "\xf1\x53\x95\x30\x43\xa5\x64\xb4\x30\xf1\x24\xc4\x30"
+            "\xf2\x14\xd4\x34\xe3\x4f\x24\xd4\x44\xd3\x54\xc4\x5f"
+            "\x14\xc3\x60\xf1\x13\xb3\x70\x22\xb2\xa3\x92\xc3\x72"
+            "\xe3\x52\xe0\x45\xd0" }  },
+      /* --- pixel bitmap for cmmi450 char#15 \epsilon --- */
+      {  15,79245,                      /* character number, location */
+         27, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 21,   28, 3,87, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xd8\xaa\x95\xe0\x14\xe0\x24\xe0\x24\xe0\x24\xe0\x24"
+            "\xe0\x25\xe0\x24\xe0\x25\xe0\x10\xf1\x1e\x03\x3f\x55"
+            "\xe0\x20\xf2\x14\xe0\x20\x23\xe0\x53\xe0\x43\xb2\x63"
+            "\x93\x83\x53\xc7\x63" }  },
+      /* --- pixel bitmap for cmmi450 char#16 \zeta --- */
+      {  16,80191,                      /* character number, location */
+         43, 2,  -13, 2,      /* topleft row,col, and botleft row,col */
+          { 27,   56, 3,211, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x32\x80\xf1\xe0\x22\x90\xe0\x31\xe0\xca\xe0\x32"
+            "\x62\xe0\x12\x27\xe0\x12\xe0\xa1\xe0\xb1\xe0\xb1\xe0"
+            "\xb2\xe0\xa2\xe0\xa2\xe0\xa2\xe0\xa3\xe0\xa2\xe0\xa2"
+            "\xe0\xa3\xe0\xa2\xe0\x70\xf1\x33\xe0\x70\xf2\x23\xe0"
+            "\x80\xf4\x13\xe0\x9f\x44\xe0\x90\xf1\x14\xe0\x80\x15"
+            "\xe0\x95\xe0\x87\xe0\x79\xe0\x5b\xe0\x4c\xe0\x3b\xe0"
+            "\x4a\xe0\x68\xe0\x85\x60\xf1\xe0\x44\x50\xe0\x53\x50"
+            "\xf1\xe0\x52\x60\xe0\x42\xe0\x31\x72\xe0\x41\x52\xe0"
+            "\x65\xa0" }  },
+      /* --- pixel bitmap for cmmi450 char#17 \eta --- */
+      {  17,81184,                      /* character number, location */
+         28, 1,  -13, 1,      /* topleft row,col, and botleft row,col */
+          { 30,   41, 3,141, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x64\xa6\x82\x32\x72\x53\x61\x52\x42\x83\x42\x53\x22"
+            "\x93\x32\x63\x12\xa4\x22\x65\xb4\x21\x65\xc4\x12\x65"
+            "\xc4\xf1\x12\x64\xd4\xf3\x84\xd4\x10\xf3\x74\xd4\x20"
+            "\xf3\x64\xd4\x30\xf3\x54\xd4\x40\xf1\x44\xd4\x50\x52"
+            "\xe4\xe0\xc4\x50\xf3\xe0\x64\x60\xf3\xe0\x54\x70\xf1"
+            "\xe0\x44\x80\xe0\x52\x99" }  },
+      /* --- pixel bitmap for cmmi450 char#18 \theta --- */
+      {  18,82056,                      /* character number, location */
+         44, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 26,   45, 3,189, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x25\xe0\x52\x42\xe0\x32\x62\xe0\x12\x73\xd2\x83"
+            "\xc3\x93\xa3\xa3\x94\xa3\x84\xb3\x84\xb4\xf1\x64\xc4"
+            "\xf1\x54\xc5\x45\xc5\x44\xd5\xf1\x35\xd4\x10\x34\xd5"
+            "\x10\xf1\x25\xd5\x10\x2e\x09\x10\xf1\x1e\x09\x20\xf1"
+            "\x15\xd5\x20\x14\xd5\x35\xd5\x35\xd4\x4f\x15\xc5\x44"
+            "\xd4\x54\xc5\x5f\x14\xc4\x64\xb4\x74\xb3\x93\xa4\x93"
+            "\xa3\xa3\x93\xc2\x83\xd3\x72\xe0\x12\x62\xe0\x32\x33"
+            "\xe0\x55\xe0\x20" }  },
+      /* --- pixel bitmap for cmmi450 char#19 \iota --- */
+      {  19,82839,                      /* character number, location */
+         28, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 17,   29, 3,77, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x82\xe4\x60\xf3\x64\x70\xf3\x54\x80\xf2\x44\x90\xf2"
+            "\x34\xa0\xf1\x24\xb0\x24\xa1\xf1\x14\xa2\x14\x92\x14"
+            "\xa2\x14\x92\x24\x82\x43\x72\x53\x62\x72\x43\x95\x95" }  },
+      /* --- pixel bitmap for cmmi450 char#20 \kappa --- */
+      {  20,83823,                      /* character number, location */
+         28, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 31,   29, 3,149, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x82\xe0\xe4\xd4\x94\xc7\x84\xa2\x16\x84\x91\x36\x84"
+            "\x81\x45\x84\x72\x63\x94\x61\xe0\x64\x51\xe0\x74\x41"
+            "\xe0\x74\x32\xe0\x84\x21\xe0\xa6\xe0\xbe\xe0\x24\x86"
+            "\xd4\xa5\xc4\xb5\xb4\xc4\xa4\xd4\x71\xf2\x24\xd4\x62"
+            "\xf1\x14\xe3\x62\x10\x14\xe3\x61\x34\xe3\x52\x24\xe0"
+            "\x13\x51\x34\xe0\x22\x41\x52\xe0\x54\x53" }  },
+      /* --- pixel bitmap for cmmi450 char#21 \lambda --- */
+      {  21,84774,                      /* character number, location */
+         43, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 31,   44, 3,210, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x84\xe0\xe0\x14\xe0\xe4\xe0\xd5\xe0\x10\xf1\xc4\xe0"
+            "\x10\xc5\xe0\xd4\xe0\xf1\xd5\xd0\xe4\xd0\xf1\xe5\xc0"
+            "\xe0\x14\xe0\xd5\xb0\xf1\xe0\x24\xb0\xe0\x25\xe0\xd4"
+            "\xa0\xf1\xe0\x35\x90\xe0\x44\x90\xf1\xe0\x45\x80\xe0"
+            "\x36\xe0\xa2\x15\xe0\x83\x24\xe0\x73\x35\xe0\x53\x45"
+            "\xe0\x43\x64\xe0\x33\x75\xe0\x13\x85\xe4\x94\xd4\xa5"
+            "\xb4\xc4\xa4\xd5\x84\xe5\x74\xe0\x24\x65\xe0\x25\x45"
+            "\xe0\x35\x35\xe0\x54\x34\xe0\x65\x14\xe0\x84\x22\xe0"
+            "\xa4" }  },
+      /* --- pixel bitmap for cmmi450 char#22 \mu --- */
+      {  22,85890,                      /* character number, location */
+         28, 2,  -13, 2,      /* topleft row,col, and botleft row,col */
+          { 34,   41, 3,147, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xb2\xe0\xe0\x34\xd3\x40\xf3\x94\xd4\x40\xf3\x84\xd4"
+            "\x50\xf3\x74\xd4\x60\xf3\x64\xd4\x70\x54\xd4\x71\xf2"
+            "\x54\xd4\x62\xf1\x45\xc4\x62\x10\x45\xb1\x13\x61\x65"
+            "\xa1\x23\x52\x57\x81\x33\x51\x64\x13\x52\x53\x31\x74"
+            "\x36\x94\x84\xe0\xd0\xf3\x24\xe0\xe0\xf3\x14\xe0\xe0"
+            "\x1f\x14\xe0\xe0\x20\x12\xe0\xe0\x35" }  },
+      /* --- pixel bitmap for cmmi450 char#23 \nu --- */
+      {  23,86797,                      /* character number, location */
+         28, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 30,   28, 3,141, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x65\xe0\x22\x39\xe0\x14\x19\xe0\x14\x10\xf1\x64\xe0"
+            "\x14\x10\x64\xe4\x20\xf1\x54\xe0\x14\x20\xf1\x54\xe4"
+            "\x30\x44\xe4\x84\xe3\x94\xd4\x94\xc4\x94\xd3\xa4\xc3"
+            "\x80\xf1\x34\xb3\x90\x24\xb3\xc4\xa2\xe4\x92\xe0\x14"
+            "\x73\xe0\x14\x73\xe0\x24\x62\xe0\x44\x42\xe0\x64\x23"
+            "\xe0\x67\xe0\x94\xe0\xc2" }  },
+      /* --- pixel bitmap for cmmi450 char#24 \xi --- */
+      {  24,87987,                      /* character number, location */
+         43, 1,  -13, 1,      /* topleft row,col, and botleft row,col */
+          { 26,   56, 3,207, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x22\x80\xf1\xe0\x12\x90\xe0\x21\xe0\xba\xd5\x62"
+            "\xb5\x27\xb4\xe0\x74\xe0\x74\xe0\x75\xe0\xf1\x65\xe0"
+            "\x10\xf4\x55\xe0\x20\xf1\x64\xe0\x20\x74\xe0\x94\x18"
+            "\xe4\x72\xc3\x19\xc2\xe0\x92\xe0\x92\xe0\x92\xe0\x92"
+            "\xe0\x93\xe0\x92\xe0\x80\xf1\x13\xe0\x8f\x23\xe0\x9f"
+            "\x14\xe0\x85\xe0\x85\xe0\x77\xe0\x69\xe0\x4a\xe0\x4b"
+            "\xe0\x3c\xe0\x3a\xe0\x49\xe0\x67\xe0\x75\x40\xf2\xe0"
+            "\x53\x40\xe0\x52\xe0\x11\x82\xe0\x22\x52\xe0\x55\x80" }  },
+      /* --- pixel bitmap for cmmi450 char#25 \pi --- */
+      {  25,89009,                      /* character number, location */
+         27, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 34,   28, 3,143, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x7e\x0c\x6e\x0e\x01\x4e\x0e\x01\x44\x62\x72\xc3\x82"
+            "\x72\xc2\x92\x62\xc2\x92\x72\xbf\x12\xa2\x72\xb0\xb3"
+            "\x63\xb0\xf1\xb2\x73\xb0\xf1\xa3\x73\xb0\xa2\x83\xe0"
+            "\x63\x83\xe0\x63\x74\xb0\xf2\x83\x84\xb0\x74\x84\xe0"
+            "\x43\x94\xe0\x34\x95\xe0\x24\xa4\xe0\x14\xb4\xe0\x14"
+            "\xb5\xe4\xb4\xe0\x13\xd2\xb7" }  },
+      /* --- pixel bitmap for cmmi450 char#26 \rho --- */
+      {  26,89925,                      /* character number, location */
+         28, 2,  -13, 2,      /* topleft row,col, and botleft row,col */
+          { 30,   41, 3,149, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x46\xe0\x83\x43\xe0\x43\x73\xe0\x23\x93\xe3\xa3"
+            "\xd3\xb4\xb3\xd3\xb3\xd4\x93\xd5\xf1\x84\xd5\xf2\x74"
+            "\xe5\xf2\x64\xe5\x10\x64\xe4\x74\xe5\x74\xe4\x84\xd5"
+            "\x84\xd4\x85\xd3\x95\xc3\xa5\xb4\xa6\x93\xb4\x22\x73"
+            "\xc4\x32\x44\xd4\x55\xe0\x24\xe0\x90\xf3\x24\xe0\xa0"
+            "\xf3\x14\xe0\xbf\x14\xe0\xc0\x12\xe0\xd0" }  },
+      /* --- pixel bitmap for cmmi450 char#27 \sigma --- */
+      {  27,90945,                      /* character number, location */
+         27, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 32,   28, 3,127, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xce\x05\xbe\x08\x8e\x09\x85\x55\xe0\x24\x93\xe0\x14"
+            "\xa4\xd4\xc3\xc4\xd3\xc3\xe4\xa4\xe4\xa3\xe0\x14\x80"
+            "\xf1\x14\xe0\x14\x8f\x24\xe0\x14\x94\xe0\x13\xaf\x13"
+            "\xe0\x14\xa3\xe4\xb3\xe3\xc3\xd4\xc3\xd3\xe3\xb3\xe0"
+            "\x22\xa3\xe0\x42\x82\xe0\x72\x53\xe0\x97\xe0\x60" }  },
+      /* --- pixel bitmap for cmmi450 char#28 \tau --- */
+      {  28,91800,                      /* character number, location */
+         27, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 30,   28, 3,105, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x7e\x08\x6e\x0b\x4e\x0b\x44\x82\xe0\x13\xa2\xe0\x12"
+            "\xa3\xe2\xb2\xe2\xc2\xe2\xb3\xe0\xd3\xe0\xd2\xe0\x10"
+            "\xf3\xc3\xe0\x10\xf2\xb3\xe0\x20\xf1\xa4\xe0\x20\xf1"
+            "\xa3\xe0\x30\xf2\x94\xe0\x30\xf1\x84\xe0\x40\x92\xe0"
+            "\x52" }  },
+      /* --- pixel bitmap for cmmi450 char#29 \upsilon --- */
+      {  29,92769,                      /* character number, location */
+         28, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 31,   29, 3,151, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x75\xe0\x13\x71\x42\xd5\x42\x53\xc5\x41\x63\xc5\x32"
+            "\x63\xd4\x22\x73\xd4\x22\x64\xe3\xf1\x12\x74\xe3\x12"
+            "\x64\xe0\x13\xf1\x94\xe0\x12\x10\xf1\x84\xe0\x22\x10"
+            "\xf2\x74\xe0\x22\x20\x74\xe0\x12\x94\xe0\x22\x30\xf1"
+            "\x64\xe0\x12\x40\x64\xe2\xb4\xe1\xd3\xd2\xd3\xc2\xe0"
+            "\x13\xa2\xe0\x23\x92\xe0\x53\x53\xe0\x87\xca" }  },
+      /* --- pixel bitmap for cmmi450 char#30 \phi --- */
+      {  30,93751,                      /* character number, location */
+         43, 3,  -13, 3,      /* topleft row,col, and botleft row,col */
+          { 33,   56, 3,225, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x92\x80\xf3\xe0\x82\x90\xf3\xe0\x72\xa0\xf3\xe0"
+            "\x62\xb0\xf1\xe0\x52\xc0\xe0\x28\xe0\x83\x32\x23\xe0"
+            "\x34\x42\x53\xe3\x62\x72\xb3\x82\x73\x93\x92\x83\x73"
+            "\x92\x94\x54\x92\xa3\x44\xa2\xa3\x43\xb2\xa4\x24\xa2"
+            "\xb4\xf2\x14\xb2\xb4\x0f\x24\xb2\xb4\x14\xb2\xa4\x24"
+            "\xa2\xb4\x24\xa2\xa4\x34\xa2\xa3\x53\xa2\x94\x53\x92"
+            "\x94\x73\x82\x93\x92\x82\x73\xb3\x72\x63\xe2\x52\x53"
+            "\xe0\x34\x22\x24\xe0\x88\xe0\xe2\xe0\x50\xf3\xb2\xe0"
+            "\x60\xf3\xa2\xe0\x70\xf2\x92\xe0\x83" }  },
+      /* --- pixel bitmap for cmmi450 char#31 \chi --- */
+      {  31,94962,                      /* character number, location */
+         28, 2,  -13, 2,      /* topleft row,col, and botleft row,col */
+          { 35,   41, 3,249, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x56\xe0\xe2\x34\xe0\x71\x32\x45\xe0\x52\x22\x65\xe0"
+            "\x32\xb5\xe0\x22\xd4\xe0\x13\xd5\xd3\xe0\x14\xd2\xe0"
+            "\x25\xb2\xe0\x35\xa2\xe0\x54\x92\xe0\x64\x82\xe0\x75"
+            "\x62\xe0\x94\x52\xe0\xa4\x42\xe0\xb5\x22\xe0\xd4\x13"
+            "\xe0\xd7\xe0\xe6\xe0\xe0\x15\xe0\x10\xf1\xe0\x24\xe0"
+            "\x10\xe0\x16\xe0\xe2\x14\xe0\xd2\x24\xe0\xc2\x34\xe0"
+            "\xb3\x35\xe0\x93\x54\xe0\x92\x64\xe0\x82\x75\xe0\x62"
+            "\x94\xe0\x52\xa4\xe0\x42\xb5\xe0\x22\xd4\xe0\x12\xe5"
+            "\xd2\xe0\x15\xc3\xe0\x24\xb3\xe0\x35\x62\x22\xe0\x54"
+            "\x52\x22\xe0\x74\x32\xe0\xe6\x42" }  },
+      /* --- pixel bitmap for cmmi450 char#32 \psi --- */
+      {  32,96165,                      /* character number, location */
+         43, 1,  -13, 1,      /* topleft row,col, and botleft row,col */
+          { 38,   56, 3,253, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf3\xe0\xd2\x90\xf3\xe0\xc2\xa0\xf3\xe0\xb2\xb0\xf2"
+            "\xe0\xa2\xc0\x75\xc2\x83\x71\x42\xa2\x85\x42\x53\x92"
+            "\x85\x41\x63\x92\x85\x32\x63\x92\x94\x22\x73\x82\xa4"
+            "\x22\x64\x82\xb3\xf1\x12\x74\x82\xb3\x12\x64\x82\xc3"
+            "\xf1\x94\x82\xc2\x10\x84\x92\xc2\x94\x82\xd2\x10\xf1"
+            "\x74\x92\xc2\x20\x74\x92\xb2\xa4\x82\xc2\x30\xf1\x64"
+            "\x92\xb2\x40\x64\x92\xa2\xb4\x82\xa2\xd3\x82\xa1\xe4"
+            "\x72\x91\xe0\x23\x72\x81\xe0\x34\x52\x72\xe0\x63\x42"
+            "\x62\xe0\x84\x22\x33\xe0\xd9\xe0\x10\xf3\xe0\x22\xe0"
+            "\x60\xf3\xe0\x12\xe0\x70\xf3\xe2\xe0\x80" }  },
+      /* --- pixel bitmap for cmmi450 char#33 \omega --- */
+      {  33,97426,                      /* character number, location */
+         28, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 36,   29, 3,141, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\x43\x73\xe0\x85\xf1\x53\xe0\x95\x43\xe0\xb4"
+            "\x33\xe0\xc4\x33\xe0\xd3\x32\xe0\xe3\xf1\x22\xe0\xe0"
+            "\x13\x13\xd2\xe2\x10\xf2\x12\xd4\xd2\x1f\x22\xd4\xd2"
+            "\x2f\x12\xd3\xd2\x32\xd2\xd3\x32\xd2\xd2\x42\xc4\xb3"
+            "\x43\xa5\xa3\x53\x97\x83\x64\x64\x24\x64\x7c\x3d\x8b"
+            "\x5b\xa9\x79\xd5\xb5\xb2" }  },
+      /* --- pixel bitmap for cmmi450 char#34 \varepsilon --- */
+      {  34,98497,                      /* character number, location */
+         28, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 24,   29, 3,97, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xc8\xdd\x95\x75\x63\xd2\x52\xe0\x72\xe0\x73\xe0\x40"
+            "\xf3\x32\xe0\x50\x42\x53\xe0\x16\x33\xcb\xc2\xe0\x72"
+            "\xe0\x72\xe0\x60\xf1\x12\xe0\x7f\x32\xe0\x82\xe0\x41"
+            "\x42\xe0\x21\x53\xe1\x74\x93\xad\xd8\xa2" }  },
+      /* --- pixel bitmap for cmmi450 char#35 \vartheta --- */
+      {  35,99572,                      /* character number, location */
+         44, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 33,   45, 3,231, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x94\xe0\xd2\x42\xe0\xa1\x62\xe0\x91\x82\xe0\x72"
+            "\x83\x20\xf1\xe0\x32\x93\x20\xe0\x22\xa3\x20\xf1\xe0"
+            "\x22\xa4\x10\xf2\xe0\x12\xb4\x10\xf1\xe0\x22\x95\x10"
+            "\xe0\x31\x95\x74\x72\x85\x52\x32\x72\x74\x61\x52\x72"
+            "\x55\x52\x53\x82\x35\x42\x63\xa2\x15\x42\x63\xc6\x41"
+            "\x64\xc8\xf2\x12\x64\xc5\x30\xf2\x84\xc5\x40\x84\xc4"
+            "\xc4\xc5\x50\xf1\x74\xc4\x60\x74\xb4\xd4\xc4\x70\xf1"
+            "\x64\xb4\x80\x64\xa4\xe0\x14\xa3\xa0\xf1\x64\x93\xb0"
+            "\x73\x83\xe0\x54\x63\xe0\x83\x42\xe0\xb7\xe0\x22" }  },
+      /* --- pixel bitmap for cmmi450 char#36 \varpi --- */
+      {  36,100951,                     /* character number, location */
+         27, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 49,   28, 3,237, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x7e\x0e\x0d\x6e\x0e\x0e\x02\x4e\x0e\x0e\x02\x44\x52"
+            "\xe0\xe0\x12\x63\x62\xe0\xe0\x22\x62\x72\xe0\xe0\x22"
+            "\x52\x72\xe0\xe0\x32\x4f\x12\x72\xe0\xe0\x42\x40\xf1"
+            "\x82\xe0\x12\xe0\x22\x40\x72\xe0\x22\xe0\x22\xb2\xe0"
+            "\x13\xe0\x22\xa2\xe0\x23\xe0\x12\xb2\xe0\x22\xe0\x22"
+            "\xb2\xe0\x13\xe0\x22\xb2\xe0\x13\xe0\x12\xc2\xe4\xe0"
+            "\x12\xb2\xe5\xe2\xc2\xe2\x12\xd3\xc2\xd2\x22\xd2\xd3"
+            "\xb3\x22\xc3\xd3\xa3\x33\xa3\xe0\x12\x84\x43\x93\xe0"
+            "\x23\x55\x63\x64\xe0\x3c\x7c\xe0\x59\xa9\xe0\x86\xe5"
+            "\xe0\x23" }  },
+      /* --- pixel bitmap for cmmi450 char#37 \varrho --- */
+      {  37,101966,                     /* character number, location */
+         28, 5,  -12, 5,      /* topleft row,col, and botleft row,col */
+          { 27,   40, 3,149, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x16\xe0\x53\x43\xe0\x13\x73\xd3\x93\xb3\xa3\xa3"
+            "\xb4\x83\xd3\x83\xd4\x63\xd5\xf1\x54\xd5\xf2\x44\xe5"
+            "\xf2\x34\xe5\x10\x34\xe4\x45\xd5\x44\xe4\x54\xd5\x54"
+            "\xd4\x55\xd3\x62\x13\xb3\x72\x13\xa4\x72\x22\x93\x92"
+            "\x32\x73\x92\x52\x44\xa2\x66\xdf\x42\xe0\xb3\xe0\xa4"
+            "\xe0\xae\x03\xbe\x03\xce\x01\xe0\xb2\x82" }  },
+      /* --- pixel bitmap for cmmi450 char#38 \varsigma --- */
+      {  38,102885,                     /* character number, location */
+         28, 3,   -7, 3,      /* topleft row,col, and botleft row,col */
+          { 22,   35, 3,119, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xc9\xb3\x63\x82\xe0\x43\xe0\x42\xe0\x52\xe0\x52\xe0"
+            "\x53\xe0\x52\xe0\x53\xe0\x52\xe0\x5f\x43\xe0\x54\xe0"
+            "\x45\xe0\x36\xe0\x36\xe0\x37\xe0\x28\xe0\x19\xe0\x18"
+            "\xe0\x28\xe0\x18\xe0\x26\xe0\x45\x40\xf1\xe4\x40\xf1"
+            "\xe3\x50\xe2\xe1\x42\xe0\x25\x8f" }  },
+      /* --- pixel bitmap for cmmi450 char#39 \varphi --- */
+      {  39,103890,                     /* character number, location */
+         28, 3,  -13, 3,      /* topleft row,col, and botleft row,col */
+          { 35,   41, 3,219, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xb6\xa2\xe0\x19\x82\xe0\x1b\x72\xe4\x54\x52\xe3"
+            "\x93\x32\xe3\xa3\x32\xe2\xc2\x22\xe2\xd2\xf1\x22\xd2"
+            "\xe2\xf1\x12\xd2\xe0\x12\x12\xd1\xe0\x22\x12\xc2\xe0"
+            "\x24\xd1\xe0\x22\x12\xc2\xe0\x22\x12\xc2\xe0\x12\x23"
+            "\xb2\xe0\x12\x32\xa2\xe0\x12\x42\xa2\xe3\x43\x92\xe2"
+            "\x62\x83\xc3\x73\x73\xb3\x94\x52\xb3\xb4\x42\x94\xd9"
+            "\x66\xe0\x1e\x04\xe0\x5e\xe0\x99\xe0\x20\xf2\xa3\xe0"
+            "\x80\x94\xe0\x80\xf1\x93\xe0\x90\xf2\x84\xe0\x90\xf1"
+            "\x74\xe0\xa0\x82\xe0\xbc" }  },
+      /* --- pixel bitmap for cmmi450 char#40 \leftharpoonup --- */
+      {  40,121078,                     /* character number, location */
+         31, 3,   14, 3,      /* topleft row,col, and botleft row,col */
+          { 56,   17, 2,37, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x0d\x03\x28\x00\xff\x01\x0c\x03\x29\x00\x0b\x04\x34"
+            "\x03\x34\x04\x34\x03\x34\x03\x34\x04\x33\x04\x33\x04"
+            "\x33\x04\x33\x04\x33\x04\x32\x36\x01\x6f\x01" }  },
+      /* --- pixel bitmap for cmmi450 char#41 \leftharpoondown --- */
+      {  41,122126,                     /* character number, location */
+         17, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 56,   17, 2,39, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x00\x37\x01\x38\x01\x36\x04\x04\x35\x04\x35\x04\x35"
+            "\x04\x35\x04\x35\x04\x35\x03\x36\x03\x35\x04\x35\x03"
+            "\x35\x04\x29\x00\xff\x01\x0c\x03\x29\x00\x0d\x03\x28" }  },
+      /* --- pixel bitmap for cmmi450 char#42 \rightharpoonup --- */
+      {  42,123172,                     /* character number, location */
+         31, 3,   14, 3,      /* topleft row,col, and botleft row,col */
+          { 56,   17, 2,38, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x28\x03\x0d\x00\xff\x01\x29\x03\x0c\x00\x29\x04\x35"
+            "\x03\x35\x04\x35\x03\x36\x03\x35\x04\x35\x04\x35\x04"
+            "\x35\x04\x35\x04\x35\x04\x04\x36\x01\x38\x01\x37" }  },
+      /* --- pixel bitmap for cmmi450 char#43 \rightharpoondown --- */
+      {  43,124221,                     /* character number, location */
+         17, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 56,   17, 2,37, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x01\x6f\x01\x36\x32\x04\x33\x04\x33\x04\x33\x04\x33"
+            "\x04\x33\x04\x34\x03\x34\x03\x34\x04\x34\x03\x34\x04"
+            "\x0b\x00\xff\x01\x29\x03\x0c\x00\x28\x03\x0d" }  },
+      /* --- pixel bitmap for cmmi450 char#44 ` --- */
+      {  44,124662,                     /* character number, location */
+         31, 3,   14, 3,      /* topleft row,col, and botleft row,col */
+          { 11,   17, 3,32, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x65\x47\x38\x25\x54\x73\x74\x7f\x23\x84\x83\x84\x85"
+            "\x78\x47\x65" }  },
+      /* --- pixel bitmap for cmmi450 char#45 ' --- */
+      {  45,125104,                     /* character number, location */
+         31, 3,   14, 3,      /* topleft row,col, and botleft row,col */
+          { 11,   17, 3,33, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x05\x67\x48\x75\x84\x83\x84\xf2\x83\x74\x73\x74\x55"
+            "\x28\x37\x45\x60" }  },
+      /* --- pixel bitmap for cmmi450 char#46 \triangleright --- */
+      {  46,125663,                     /* character number, location */
+         32, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 29,   33, 3,153, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x12\xe0\xc5\xe0\xa6\xe0\x98\xe0\x73\x16\xe0\x53\x27"
+            "\xe0\x33\x46\xe0\x23\x66\xe3\x86\xc3\x96\xb3\xb6\x93"
+            "\xd6\x73\xe7\x53\xe0\x26\x43\xe0\x46\x23\xe0\x69\xe0"
+            "\x78\xe0\x69\xe0\x46\x23\xe0\x26\x43\xe7\x53\xd6\x73"
+            "\xb6\x93\x96\xb3\x86\xc3\x66\xe3\x46\xe0\x23\x27\xe0"
+            "\x33\x16\xe0\x58\xe0\x76\xe0\x95\xe0\xb2\xe0\xc4" }  },
+      /* --- pixel bitmap for cmmi450 char#47 \triangleleft --- */
+      {  47,126303,                     /* character number, location */
+         32, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 29,   33, 3,156, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xc3\xe0\xa5\xe0\x96\xe0\x78\xe0\x56\x13\xe0\x37"
+            "\x23\xe0\x26\x43\xe6\x63\xc6\x83\xb6\x93\x96\xb3\x76"
+            "\xd3\x57\xe3\x46\xe0\x23\x26\xe0\x43\x15\xe0\x68\xe0"
+            "\x73\x15\xe0\x63\x26\xe0\x43\x46\xe0\x23\x57\xe3\x76"
+            "\xd3\x96\xb3\xb6\x93\xc6\x83\xe6\x63\xe0\x26\x43\xe0"
+            "\x37\x23\xe0\x56\x13\xe0\x78\xe0\x96\xe0\xa5\xe0\xc3" }  },
+      /* --- pixel bitmap for cmmi450 char#48 \0 --- */
+      {  48,110897,                     /* character number, location */
+         28, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 27,   29, 3,95, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x99\xe0\x14\x74\xb3\xb3\x93\xd3\x73\xe0\x13\x30\xf1"
+            "\x24\xe0\x14\x20\xf2\x14\xe0\x34\x1f\x95\xe0\x35\xf1"
+            "\x14\xe0\x34\x10\x15\xe0\x15\x34\xe0\x14\x53\xe0\x13"
+            "\x73\xd3\x93\xb3\xb4\x74\xe0\x19\x93" }  },
+      /* --- pixel bitmap for cmmi450 char#49 \1 --- */
+      {  49,111736,                     /* character number, location */
+         28, 6,    0, 6,      /* topleft row,col, and botleft row,col */
+          { 20,   28, 3,36, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xb1\xe0\x33\xc8\x8c\x84\x44\x80\xfe\x84\x80\xf4\x84"
+            "\x80\x76\x7f\x1e\x06" }  },
+      /* --- pixel bitmap for cmmi450 char#50 \2 --- */
+      {  50,112740,                     /* character number, location */
+         28, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 25,   28, 3,121, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x7a\xce\x02\x84\x78\x52\xd6\x32\xe0\x16\x14\xe0\x15"
+            "\x15\xe6\x0f\x15\xe0\x15\x13\xe0\x16\xe0\x56\xe0\x55"
+            "\x10\xf1\xe0\x45\x20\xe0\x34\xe0\x55\xe0\x54\xe0\x63"
+            "\xe0\x63\xe0\x73\xe0\x63\xc2\x72\xe2\x62\xe2\x52\xe0"
+            "\x22\x4e\x07\x2e\x09\x1f\x1e\x09\x24" }  },
+      /* --- pixel bitmap for cmmi450 char#51 \3 --- */
+      {  51,113815,                     /* character number, location */
+         28, 3,  -13, 3,      /* topleft row,col, and botleft row,col */
+          { 25,   41, 3,161, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x88\xe0\x1d\xa4\x75\x83\xb5\x52\xe5\x44\xc5\x36\xb6"
+            "\x10\xf2\x16\xc5\x10\x24\xc6\x10\xf1\xe0\x45\x20\xe0"
+            "\x35\xe0\x64\xe0\x64\xe0\x64\xe0\x54\xe0\x19\xe0\x94"
+            "\xe0\x94\xe0\x84\xe0\x84\xe0\x75\xe0\x66\xe0\x65\x10"
+            "\xf1\xe0\x56\x23\xe6\x15\xd6\x0f\x17\xc6\x07\xc5\x17"
+            "\xb6\x25\xc5\x32\xe0\x15\x42\xd5\x63\xa5\x84\x75\xad"
+            "\xe0\x18\x96" }  },
+      /* --- pixel bitmap for cmmi450 char#52 \4 --- */
+      {  52,114820,                     /* character number, location */
+         29, 2,  -12, 2,      /* topleft row,col, and botleft row,col */
+          { 27,   41, 3,150, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x52\xe0\xa3\x60\xf1\xe0\x34\x60\xe0\x25\xe0\x76"
+            "\xe0\x71\x14\xe0\x62\x14\xe0\x52\x24\x60\xf1\xc2\x34"
+            "\x60\xb2\x44\xe0\x22\x54\xe0\x21\x64\xe0\x12\x64\xe2"
+            "\x74\x60\xf1\x72\x84\x60\x62\x94\xb2\xa4\xb1\xb4\xa2"
+            "\xb4\x92\xc4\x60\xf1\x22\xd4\x60\x12\xe4\x62\xe0\x14"
+            "\x6f\x1e\x0d\xf9\xe0\x34\x60\xf1\xbe\x02" }  },
+      /* --- pixel bitmap for cmmi450 char#53 \5 --- */
+      {  53,115939,                     /* character number, location */
+         28, 3,  -13, 3,      /* topleft row,col, and botleft row,col */
+          { 25,   41, 3,143, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x32\xe0\x12\x65\x94\x7e\x03\x8e\x02\x9e\x01\xad\xc2"
+            "\x26\xc0\xf7\x32\xe0\x60\x32\x48\xb2\x22\x73\x92\x11"
+            "\xa3\x83\xc3\x72\xe3\x30\xf1\xe0\x54\x20\xf1\xe0\x64"
+            "\x10\xf2\xe0\x65\x14\xe0\x15\x0f\x26\xe5\x06\xe4\x15"
+            "\xe0\x14\x22\xe0\x25\x22\xe0\x24\x42\xe4\x53\xd3\x73"
+            "\xa4\x94\x65\xcc\xe0\x17\xa0" }  },
+      /* --- pixel bitmap for cmmi450 char#54 \6 --- */
+      {  54,116916,                     /* character number, location */
+         41, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 25,   42, 3,161, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xd6\xe0\x2b\xd4\x63\xa4\xa2\x84\x95\x64\x96\x63\xa6"
+            "\x53\xb6\x44\xb6\x43\xd4\x20\xf1\x24\xe0\x50\x15\xe0"
+            "\x50\xf1\x14\xe0\x60\x14\x56\x95\x41\x62\x75\x31\x83"
+            "\x55\x21\xa3\x45\x11\xc3\x3f\x16\xd4\x26\xe4\x15\xe0"
+            "\x14\x1f\x35\xe0\x15\xf3\x14\xe0\x15\xf1\x24\xe4\x10"
+            "\x24\xd5\x43\xd4\x54\xc3\x73\xb4\x83\x94\xa4\x55\xcb"
+            "\xe0\x27\x96" }  },
+      /* --- pixel bitmap for cmmi450 char#55 \7 --- */
+      {  55,117927,                     /* character number, location */
+         29, 3,  -13, 3,      /* topleft row,col, and botleft row,col */
+          { 27,   42, 3,135, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x22\xe0\xb3\xe0\x80\xf1\x2e\x0b\x2e\x0a\x2e\x0b\x22"
+            "\xe0\x62\x32\xe0\x52\x42\xe0\x42\x42\xe0\x52\x42\xe0"
+            "\x42\x52\xe0\x32\x60\xf1\xe0\x42\x70\xe0\x32\xe0\xa2"
+            "\x90\xf1\xe0\x12\xa0\xe2\xb0\xf1\xd3\xb0\xf1\xc3\xc0"
+            "\xf2\xb4\xc0\xa5\xc0\xf1\xa4\xd0\xf3\x95\xd0\xf7\x86"
+            "\xd0\x94\xe3" }  },
+      /* --- pixel bitmap for cmmi450 char#56 \8 --- */
+      {  56,118908,                     /* character number, location */
+         41, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 25,   42, 3,171, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x97\xe0\x2c\xb4\x74\x93\xb3\x72\xe3\x53\xe0\x13\x42"
+            "\xe0\x24\x10\xf2\x13\xe0\x33\x10\xf1\x14\xe0\x23\x10"
+            "\x15\xe3\x46\xc2\x57\xa3\x68\x73\x88\x52\xb9\x13\xe9"
+            "\xe0\x39\xe0\x3a\xd2\x29\xa2\x68\x82\x88\x62\xb7\x43"
+            "\xc7\x23\xe0\x15\x23\xe0\x25\x0f\x13\xe0\x44\x0f\x33"
+            "\xe0\x53\x13\xe0\x42\x23\xe0\x33\x33\xe0\x22\x44\xe2"
+            "\x64\xb3\x94\x74\xbd\xe0\x17\x92" }  },
+      /* --- pixel bitmap for cmmi450 char#57 \9 --- */
+      {  57,119913,                     /* character number, location */
+         28, 3,  -13, 3,      /* topleft row,col, and botleft row,col */
+          { 25,   41, 3,151, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x97\xe0\x2b\xc5\x54\xa4\x93\x84\xb3\x73\xc4\x54\xd3"
+            "\x30\xf1\x14\xe4\x2f\x35\xe0\x14\x1f\x35\xe0\x15\x14"
+            "\xe0\x15\x14\xe6\xf1\x24\xd6\x33\xc1\x15\x43\xa1\x25"
+            "\x53\x82\x25\x63\x61\x45\x96\x55\xf2\xe0\x64\x10\xf1"
+            "\xe0\x54\x20\x24\xd4\x20\xf1\x16\xb4\x30\x16\xa4\x56"
+            "\xa3\x65\xa3\x82\xb3\xa3\x74\xcb\xe0\x27\xc2" }  },
+      /* --- pixel bitmap for cmmi450 char#58 . --- */
+      {  58,126872,                     /* character number, location */
+          7, 5,    0, 5,      /* topleft row,col, and botleft row,col */
+          {  7,    7, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x1c\xdf\xff\xff\xf7\x71\x00" }  },
+      /* --- pixel bitmap for cmmi450 char#59 , --- */
+      {  59,127441,                     /* character number, location */
+          7, 5,  -12, 5,      /* topleft row,col, and botleft row,col */
+          {  8,   19, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x1c\x3e\x7f\xff\xff\xbe\x9c\x80\x80\x80\x40\x40\x40"
+            "\x20\x20\x10\x08\x04\x02" }  },
+      /* --- pixel bitmap for cmmi450 char#60 < --- */
+      {  60,128129,                     /* character number, location */
+         34, 5,   -3, 5,      /* topleft row,col, and botleft row,col */
+          { 38,   37, 2,74, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x23\x03\x21\x05\x1f\x07\x1d\x07\x1d\x07\x1d\x07\x1d"
+            "\x07\x1d\x07\x1c\x08\x1c\x08\x1c\x08\x1c\x07\x1d\x07"
+            "\x1d\x07\x1d\x07\x1d\x07\x1d\x07\x1d\x07\x1f\x05\x21"
+            "\x07\x21\x07\x21\x07\x21\x07\x21\x07\x21\x07\x21\x07"
+            "\x21\x08\x20\x08\x20\x08\x21\x07\x21\x07\x21\x07\x21"
+            "\x07\x21\x07\x21\x07\x21\x05\x23\x03" }  },
+      /* --- pixel bitmap for cmmi450 char#61 / --- */
+      {  61,128705,                     /* character number, location */
+         47, 3,  -16, 3,      /* topleft row,col, and botleft row,col */
+          { 25,   63, 3,257, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x92\xe0\x83\xe0\x74\xf1\xe0\x73\x10\xe0\x64\x10"
+            "\xf1\xe0\x63\x20\xe0\x54\x20\xf1\xe0\x53\x30\xe0\x44"
+            "\xe0\x73\xe0\x74\x40\xf1\xe0\x33\x50\xe0\x24\x50\xf1"
+            "\xe0\x23\x60\xe0\x14\xe0\x73\xe0\x74\x70\xf1\xe3\x80"
+            "\xd4\x80\xf1\xd3\x90\xc4\x90\xf1\xc3\xa0\xb4\xe0\x73"
+            "\xe0\x74\xb0\xf1\xa3\xc0\x94\xc0\xf1\x93\xd0\x84\xd0"
+            "\xf1\x83\xe0\x74\xe0\x73\xe0\x74\xe0\x10\xf1\x63\xe0"
+            "\x20\x54\xe0\x20\xf1\x53\xe0\x30\x44\xe0\x73\xe0\x74"
+            "\xe0\x40\xf1\x33\xe0\x50\x24\xe0\x50\xf1\x23\xe0\x60"
+            "\x14\xe0\x60\xf1\x13\xe0\x74\xe0\x7f\x13\xe0\x88" }  },
+      /* --- pixel bitmap for cmmi450 char#62 > --- */
+      {  62,129480,                     /* character number, location */
+         34, 5,   -3, 5,      /* topleft row,col, and botleft row,col */
+          { 38,   37, 2,75, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x00\x03\x23\x05\x21\x07\x21\x07\x21\x07\x21\x07\x21"
+            "\x07\x21\x07\x21\x08\x20\x08\x20\x08\x21\x07\x21\x07"
+            "\x21\x07\x21\x07\x21\x07\x21\x07\x21\x07\x21\x05\x1f"
+            "\x07\x1d\x07\x1d\x07\x1d\x07\x1d\x07\x1d\x07\x1d\x07"
+            "\x1c\x08\x1c\x08\x1c\x08\x1c\x07\x1d\x07\x1d\x07\x1d"
+            "\x07\x1d\x07\x1d\x07\x1f\x05\x21\x03\x23" }  },
+      /* --- pixel bitmap for cmmi450 char#63 \star --- */
+      {  63,130231,                     /* character number, location */
+         31,-1,    1,-1,      /* topleft row,col, and botleft row,col */
+          { 32,   30, 3,115, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf4\xe0\x21\xe0\x10\xf6\xe0\x13\xe0\x16\x83\x86\x39"
+            "\x25\x29\x7e\x09\xce\x03\xe0\x3d\xe0\x79\xe0\xa7\xe0"
+            "\xa9\xe0\x94\x14\xe0\x85\x15\xe0\x74\x34\xe0\x64\x54"
+            "\xe0\x53\x73\xe0\x43\x93\xe0\x23\xb3\xe0\x12\xd2\xe2"
+            "\xe0\x12\xd1\xe0\x31\x67" }  },
+      /* --- pixel bitmap for cmmi450 char#64 \partial --- */
+      {  64,104990,                     /* character number, location */
+         44, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 32,   45, 3,229, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x17\xe0\x9c\xe0\x44\x74\xe0\x23\xb3\xe2\xe3\xc2"
+            "\xe0\x23\xb4\xe4\x96\xe3\x20\xf1\x76\xe4\x10\x75\xe0"
+            "\x24\x83\xe0\x34\xf3\xe0\xe4\xe7\x74\xb4\x62\x45\x94"
+            "\xa1\x35\x83\xc1\x35\x73\xe1\x25\x63\xe0\x11\x25\x53"
+            "\xe0\x36\x54\xe0\x36\x44\xe0\x46\x35\xe0\x46\x34\xe0"
+            "\x55\x20\xf1\x15\xe0\x55\x20\x15\xe0\x45\x35\xe0\x55"
+            "\x35\xe0\x54\x45\xe0\x45\x4f\x15\xe0\x44\x54\xe0\x44"
+            "\x64\xe0\x43\x75\xe0\x24\x84\xe0\x14\x94\xe4\xb4\xc4"
+            "\xd3\xb4\xe0\x14\x74\xe0\x4d\xe0\x78\xe0\x30" }  },
+      /* --- pixel bitmap for cmmi450 char#65 A --- */
+      {  65, 1092,                      /* character number, location */
+         45, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 43,   45, 3,280, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xe0\xe0\x33\x90\xf1\xe0\xe0\x24\x90\xe0\xe0\x15"
+            "\x90\xf1\xe0\xe6\x90\xe0\xd8\xe0\xe0\x72\x15\xe0\xe0"
+            "\x62\x25\xe0\xe0\x53\x25\xe0\xe0\x52\x35\x80\xf1\xe0"
+            "\xa2\x45\x80\xe0\x92\x55\xe0\xe0\x23\x55\xe0\xe0\x22"
+            "\x65\xe0\xe0\x12\x75\xe0\xe0\x12\x76\xe0\xd2\x95\xe0"
+            "\xc3\x95\xe0\xc2\xa5\x70\xf1\xe0\x42\xb5\x70\xe0\x32"
+            "\xc5\xe0\x93\xc5\xe0\x92\xd5\xe0\x82\xe5\xe0\x8e\x08"
+            "\xe0\x6e\x09\xe0\x62\xe0\x25\xe0\x52\xe0\x35\x60\xf1"
+            "\xc2\xe0\x45\x60\xf1\xb2\xe0\x55\x60\xa2\xe0\x65\xe0"
+            "\x12\xe0\x75\xe0\x12\xe0\x76\xd2\xe0\x95\xc3\xe0\x95"
+            "\xb4\xe0\x95\x97\xe0\x76\x5f\x1e\xde\x02" }  },
+      /* --- pixel bitmap for cmmi450 char#66 B --- */
+      {  66, 2618,                      /* character number, location */
+         43, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 44,   43, 3,253, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xae\x0d\xe0\x3e\x0e\x02\xe0\x65\xe6\xe0\x55\xe0\x25"
+            "\xe0\x45\xe0\x26\x10\xf1\xe0\x15\xe0\x46\xf1\xe0\x15"
+            "\xe0\x55\xe5\xe0\x65\xf1\xe5\xe0\x56\xe5\xe0\x55\xe5"
+            "\xe0\x56\xe5\xe0\x55\xe0\x15\xe0\x45\xe0\x25\xe0\x35"
+            "\xe0\x25\xe0\x35\xe0\x35\xe0\x16\xe0\x45\xd6\xe0\x6e"
+            "\x08\xe0\x75\xe0\x15\xe0\x55\xe0\x35\xe0\x35\xe0\x45"
+            "\xe0\x25\xe0\x46\xe5\xe0\x65\x40\xf2\xa5\xe0\x66\x30"
+            "\xf3\x95\xe0\x76\x30\xf1\x85\xe0\x76\x40\x85\xe0\x66"
+            "\xd5\xe0\x56\xd5\xe0\x56\xe5\xe0\x46\xe0\x15\xe0\x27"
+            "\xe0\x16\xe7\xbe\x0e\x03\xde\x0e\xe0\x25" }  },
+      /* --- pixel bitmap for cmmi450 char#67 C --- */
+      {  67, 3691,                      /* character number, location */
+         44, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 45,   45, 3,261, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x99\xc1\xe0\x6e\x92\xe0\x38\x74\x62\xe0\x26\xd3"
+            "\x43\xe0\x15\xe0\x32\x24\xd5\xe0\x67\xc5\xe0\x76\xc5"
+            "\xe0\x95\xb5\xe0\xa5\xa5\xe0\xc4\x95\xe0\xd3\x95\xe0"
+            "\xe3\x86\xe0\xe3\x85\xe0\xe0\x13\x75\xe0\xe0\x22\x76"
+            "\xe0\xe0\x22\x75\xe0\xe0\x32\x40\xf1\x26\xe0\xe0\x90"
+            "\xf2\x16\xe0\xe0\xaf\x46\xe0\xe0\xbf\x15\xe0\xe0\xc5"
+            "\xe0\xe0\x32\x7f\x15\xe0\xe0\x22\x86\xe0\xe0\x12\x95"
+            "\xe0\xe2\x90\xf1\x15\xe0\xd2\xa0\x25\xe0\xb2\xd5\xe0"
+            "\xa2\xe0\x15\xe0\x82\xe0\x35\xe0\x62\xe0\x55\xe0\x33"
+            "\xe0\x76\xd3\xe0\xb6\x85\xe0\xee\x01\xe0\xe0\x58\xe0"
+            "\xa4" }  },
+      /* --- pixel bitmap for cmmi450 char#68 D --- */
+      {  68, 4997,                      /* character number, location */
+         43, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 48,   43, 3,261, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xae\x0d\xe0\x7e\x0e\x02\xe0\xa5\xe7\xe0\x85\xe0\x26"
+            "\xe0\x75\xe0\x45\xe0\x55\xe0\x65\xe0\x45\xe0\x74\xe0"
+            "\x45\xe0\x75\xe0\x35\xe0\x85\x10\xf1\xe5\xe0\x95\x10"
+            "\xe5\xe0\x96\xe5\xe0\xa5\xf2\xd5\xe0\xb5\xd5\xe0\xa6"
+            "\xf3\xc5\xe0\xb6\xb5\xe0\xc5\x10\xf1\xb5\xe0\xb6\x10"
+            "\xb5\xe0\xb5\x20\xf1\xa5\xe0\xb6\x20\xa5\xe0\xb5\xd5"
+            "\xe0\xa6\xc5\xe0\xb5\x40\xf1\x95\xe0\xa5\x50\x95\xe0"
+            "\x95\xe5\xe0\x95\xe0\x15\xe0\x85\xe0\x25\xe0\x75\xe0"
+            "\x35\xe0\x65\xe0\x35\xe0\x65\xe0\x45\xe0\x46\xe0\x55"
+            "\xe0\x26\xe0\x66\xd7\xe0\x2e\x0e\x02\xe0\x4e\x0d\xe0"
+            "\x74" }  },
+      /* --- pixel bitmap for cmmi450 char#69 E --- */
+      {  69, 6590,                      /* character number, location */
+         43, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 45,   43, 3,269, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xae\x0e\x07\xe0\x25\xe0\x27\xe0\x35\xe0\x54\xe0"
+            "\x35\xe0\x63\x10\xf1\xe0\x15\xe0\x73\x10\xf1\xe0\x15"
+            "\xe0\x82\x10\xf2\xe5\xe0\x92\x10\xe5\xe0\x82\xe0\x15"
+            "\xc2\x92\x20\xf1\xd5\xc2\xd0\xd5\xb3\xe0\xb5\xc2\xe0"
+            "\xc5\xb3\xe0\xc5\xa4\xe0\xce\x05\xe0\xbe\x05\xe0\xc5"
+            "\xa4\xe0\x10\xf1\xb5\xb3\xe0\x10\xf1\xa5\xc2\xe0\x20"
+            "\xa5\xc2\xa2\xe5\xc2\x92\xe5\xe0\xa2\xe5\xe0\x93\xe5"
+            "\xe0\x92\xe0\x15\xe0\x83\xe5\xe0\x92\xe0\x15\xe0\x83"
+            "\xe0\x15\xe0\x82\xe0\x25\xe0\x73\xe0\x15\xe0\x73\xe0"
+            "\x25\xe0\x64\xe0\x25\xe0\x45\xe0\x26\xe0\x18\xae\x0e"
+            "\x07\xae\x0e\x06\xb0" }  },
+      /* --- pixel bitmap for cmmi450 char#70 F --- */
+      {  70, 7991,                      /* character number, location */
+         43, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 44,   43, 3,197, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xae\x0e\x06\xe0\x25\xe0\x26\xe0\x35\xe0\x44\xe0"
+            "\x35\xe0\x53\x10\xf1\xe0\x15\xe0\x63\x10\xf1\xe0\x15"
+            "\xe0\x72\x10\xf2\xe5\xe0\x82\x10\xe5\xe0\x72\xe0\x15"
+            "\xc2\x82\x20\xf1\xd5\xc2\xc0\xd5\xb3\xe0\xa5\xc2\xe0"
+            "\xb5\xb3\xe0\xb5\xa4\xe0\xbe\x05\xe0\xae\x05\xe0\xb5"
+            "\xa4\xe0\xf1\xb5\xb3\xe0\xf3\xa5\xc2\xe0\x10\xf3\x95"
+            "\xe0\xe0\x20\xf3\x85\xe0\xe0\x30\xf2\x75\xe0\xe0\x40"
+            "\x66\xe0\xe0\x4f\x1e\x05\xe0\xb0" }  },
+      /* --- pixel bitmap for cmmi450 char#71 G --- */
+      {  71, 9286,                      /* character number, location */
+         44, 4,   -1, 4,      /* topleft row,col, and botleft row,col */
+          { 44,   45, 3,263, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x98\xc1\xe0\x6e\x82\xe0\x37\x83\x62\xe0\x26\xd2"
+            "\x43\xe0\x15\xe0\x22\x24\xd5\xe0\x57\xc5\xe0\x66\xc5"
+            "\xe0\x85\xb5\xe0\x95\xa5\xe0\xb4\x95\xe0\xc3\x95\xe0"
+            "\xd3\x85\xe0\xe3\x76\xe0\xe3\x75\xe0\xe0\x12\x76\xe0"
+            "\xe0\x12\x75\xe0\xe0\x22\x40\xf1\x26\xe0\xe0\x80\xf2"
+            "\x16\xe0\xe0\x9f\x36\xe0\xe0\xa6\xe0\x4e\x04\x25\xe0"
+            "\x5e\x04\x25\xe0\xc6\x75\xe0\xd5\x7f\x15\xe0\xc5\x8f"
+            "\x16\xe0\xb5\x80\xf1\x15\xe0\xa5\x90\xf1\x25\xe0\x95"
+            "\x90\x35\xe0\x75\xe5\xe0\x56\xe0\x15\xe0\x32\x14\xe0"
+            "\x26\xd3\x33\xe0\x37\x85\x42\xe0\x6e\x02\x71\xe0\x9a"
+            "\xe0\x8e" }  },
+      /* --- pixel bitmap for cmmi450 char#72 H --- */
+      {  72,10687,                      /* character number, location */
+         43, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 52,   43, 3,163, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xae\x04\x6e\x04\xe0\x26\xe0\x46\x60\xf1\xe0\x25"
+            "\xe0\x55\x70\xf3\xe0\x15\xe0\x55\x80\xf3\xe5\xe0\x55"
+            "\x90\xf3\xd5\xe0\x55\xa0\xf2\xc5\xe0\x55\xb0\xce\x0e"
+            "\x01\xe0\x8e\x0e\x01\xc0\xf2\xb5\xe0\x55\xc0\xf3\xa5"
+            "\xe0\x55\xd0\xf3\x95\xe0\x55\xe0\xf3\x85\xe0\x55\xe0"
+            "\x10\xf2\x75\xe0\x55\xe0\x20\x66\xe0\x46\xe0\x2f\x1e"
+            "\x04\x6e\x04\xa0" }  },
+      /* --- pixel bitmap for cmmi450 char#73 I --- */
+      {  73,11586,                      /* character number, location */
+         43, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 28,   43, 3,91, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf1\xae\x04\xe0\x26\x60\xf1\xe0\x25\x70\xf3\xe0\x15"
+            "\x80\xf3\xe5\x90\xf3\xd5\xa0\xf3\xc5\xb0\xf3\xb5\xc0"
+            "\xf3\xa5\xd0\xf3\x95\xe0\xf3\x85\xe0\x10\xf2\x75\xe0"
+            "\x20\x66\xe0\x2f\x1e\x04\xa2" }  },
+      /* --- pixel bitmap for cmmi450 char#74 J --- */
+      {  74,12492,                      /* character number, location */
+         43, 4,   -1, 4,      /* topleft row,col, and botleft row,col */
+          { 35,   44, 3,129, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xe0\x3e\x04\xf2\xe0\xb5\x50\xf3\xe0\xa5\x60\xf3"
+            "\xe0\x95\x70\xf3\xe0\x85\x80\xf3\xe0\x75\x90\xf3\xe0"
+            "\x65\xa0\xf3\xe0\x55\xb0\xf2\xe0\x45\xc0\x32\xd5\xd5"
+            "\xb5\xdf\x17\xa5\xd7\x95\xe6\xa5\xe5\xa5\xe0\x12\xd4"
+            "\xe0\x31\xc4\xe0\x42\x94\xe0\x82\x64\xe0\xb7\xe0\x90" }  },
+      /* --- pixel bitmap for cmmi450 char#75 K --- */
+      {  75,13831,                      /* character number, location */
+         43, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 52,   43, 3,339, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xae\x04\xbd\xae\x04\xae\xe0\x26\xe0\x57\xe0\x65\xe0"
+            "\x65\xe0\x85\xe0\x63\xe0\x95\xe0\x63\xe0\xa5\xe0\x52"
+            "\xe0\xc5\xe0\x33\xe0\xd5\xe0\x23\xe0\xd5\xe0\x22\xe0"
+            "\xe0\x15\xe0\x12\xe0\xe0\x25\xd3\xe0\xe0\x35\xc3\xe0"
+            "\xe0\x35\xc2\xe0\xe0\x55\xb2\xe0\xe0\x65\x93\xe0\xe0"
+            "\x75\x83\xe0\xe0\x75\x84\xe0\xe0\x75\x75\xe0\xe0\x75"
+            "\x58\xe0\xe0\x65\x43\x15\xe0\xe0\x55\x42\x35\xe0\xe0"
+            "\x55\x32\x55\xe0\xe0\x45\x13\x65\xe0\xe0\x48\x76\xe0"
+            "\xe0\x27\xa5\xe0\xe0\x26\xb5\xe0\x60\xf1\xa5\xd5\xe0"
+            "\x50\xf1\x95\xe0\x15\xe0\x40\x95\xe0\x16\xe0\xc5\xe0"
+            "\x25\xe0\xb5\xe0\x35\xe0\x30\xf1\x85\xe0\x45\xe0\x20"
+            "\x85\xe0\x46\xe0\x10\xf1\x75\xe0\x65\xe0\x10\x75\xe0"
+            "\x66\xe0\x66\xe0\x58\xde\x04\xae\x01\x9e\x03\xbe\x01"
+            "\x90" }  },
+      /* --- pixel bitmap for cmmi450 char#76 L --- */
+      {  76,14962,                      /* character number, location */
+         43, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 37,   43, 3,169, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xae\x06\xe0\x3e\x05\xe0\xa6\xe0\x10\xf1\xe0\x25\xe0"
+            "\x20\xf3\xe0\x15\xe0\x30\xf3\xe5\xe0\x40\xf3\xd5\xe0"
+            "\x50\xf3\xc5\xe0\x60\xf3\xb5\xe0\x70\xf1\xa5\xe0\x80"
+            "\xa5\xe0\x62\xa5\xe0\x52\x10\xf1\x95\xe0\x62\x10\xf1"
+            "\x95\xe0\x52\x20\x85\xe0\x53\xa5\xe0\x52\xb5\xe0\x43"
+            "\xb5\xe0\x33\xb5\xe0\x34\xb5\xe0\x25\xb5\xe6\xb6\xc8"
+            "\x5e\x0e\x04\x5e\x0e\x03\x60" }  },
+      /* --- pixel bitmap for cmmi450 char#77 M --- */
+      {  77,16402,                      /* character number, location */
+         43, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 62,   43, 3,391, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xac\xe0\xec\xe0\x26\xe0\xd7\xe0\x86\xe0\xd6\xe0"
+            "\x96\xe0\xc2\x14\xe0\x82\x14\xe0\xb2\x14\xe0\x92\x24"
+            "\xe0\xa2\x14\xe0\x92\x24\xe0\x92\x24\xe0\x92\x24\xe0"
+            "\x82\x34\xe0\x82\x34\xe0\x82\x24\xe0\x92\x34\xe0\x72"
+            "\x34\x90\xf1\xe2\x34\xe0\x62\x44\x90\xf1\xd2\x54\xe0"
+            "\x42\x44\xa0\xd2\x54\xe0\x32\x54\xe0\x92\x54\xe0\x22"
+            "\x64\xe0\x82\x64\xe0\x22\x54\xe0\x92\x64\xe0\x12\x64"
+            "\xb0\xf1\xc2\x64\xe2\x74\xb0\xb2\x84\xc2\x74\xc0\xf1"
+            "\xb2\x84\xb2\x84\xc0\xb2\x84\xa2\x94\xe0\x82\x94\xa2"
+            "\x84\xe0\x92\x94\x92\x94\xe0\x92\x94\x82\xa4\xe0\x92"
+            "\xa4\x72\xa4\xe0\x82\xb4\x62\xa4\xe0\xf1\x92\xb4\x52"
+            "\xb4\xe0\x92\xb4\x42\xc4\xe0\x82\xc4\x42\xb4\xe0\x92"
+            "\xc4\x32\xc4\xe0\x92\xc4\x22\xd4\xe0\x92\xd4\x12\xd4"
+            "\xe0\x82\xe6\xd4\xe0\x92\xe5\xe4\xe0\x84\xd5\xe4\xe0"
+            "\x67\xc4\xe5\xe0\x2e\x01\x83\x9e\x03\xae\x93\x9e\x02"
+            "\xb0" }  },
+      /* --- pixel bitmap for cmmi450 char#78 N --- */
+      {  78,17838,                      /* character number, location */
+         43, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 52,   43, 3,287, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xac\xe0\x1e\x01\xe0\x27\xe0\x46\xe0\x77\xe0\x54"
+            "\xe0\x87\xe0\x53\x70\xf1\xe0\x12\x25\xe0\x42\x80\xe0"
+            "\x12\x26\xe0\x32\xe0\x92\x35\xe0\x32\xe0\x82\x45\xe0"
+            "\x22\x90\xf2\xe2\x55\xe0\x12\x90\xf1\xd2\x75\xd2\xa0"
+            "\xf1\xd2\x85\xc2\xa0\xc2\x95\xb2\xb0\xf1\xc2\xa5\xa2"
+            "\xb0\xc2\xa6\x92\xb0\xf1\xb2\xc5\x82\xc0\xf1\xb2\xd5"
+            "\x72\xc0\xa2\xe6\x52\xd0\xf1\xa2\xe0\x15\x52\xd0\xa2"
+            "\xe0\x25\x42\xe0\x82\xe0\x35\x32\xe0\x92\xe0\x36\x22"
+            "\xe0\xf1\x92\xe0\x45\x22\xe0\xf2\x82\xe0\x67\xe0\x10"
+            "\x82\xe0\x76\xe0\x82\xe0\x85\xe0\x92\xe0\x94\xe0\x84"
+            "\xe0\x84\xe0\x67\xe0\x74\xe0\x2f\x1e\x01\xe0\x42\xe0"
+            "\x34" }  },
+      /* --- pixel bitmap for cmmi450 char#79 O --- */
+      {  79,18893,                      /* character number, location */
+         44, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 43,   45, 3,263, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x98\xe0\xe0\x34\x74\xe0\xc4\xb4\xe0\x84\xe0\x13"
+            "\xe0\x54\xe0\x43\xe0\x34\xe0\x54\xe0\x14\xe0\x74\xd4"
+            "\xe0\x85\xa5\xe0\xa4\xa4\xe0\xb5\x84\xe0\xc5\x75\xe0"
+            "\xc5\x65\xe0\xe5\x46\xe0\xe5\x45\xe0\xe0\x15\x36\xe0"
+            "\xe0\x15\x35\xe0\xe0\x25\xf1\x26\xe0\xe0\x16\xf2\x16"
+            "\xe0\xe0\x26\x0f\x26\xe0\xe0\x26\x1f\x26\xe0\xe0\x16"
+            "\x2f\x15\xe0\xe0\x16\x35\xe0\xe6\x45\xe0\xe5\x55\xe0"
+            "\xd6\x56\xe0\xc5\x75\xe0\xb5\x85\xe0\xa5\x95\xe0\x95"
+            "\xb5\xe0\x84\xd4\xe0\x74\xe5\xe0\x54\xe0\x24\xe0\x35"
+            "\xe0\x44\xe0\x14\xe0\x84\xb4\xe0\xc4\x65\xe0\xe0\x29"
+            "\xe0\x94" }  },
+      /* --- pixel bitmap for cmmi450 char#80 P --- */
+      {  80,20186,                      /* character number, location */
+         43, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 44,   43, 3,191, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xae\x0c\xe0\x4e\x0e\x01\xe0\x75\xd6\xe0\x65\xe0\x16"
+            "\xe0\x45\xe0\x26\xe0\x25\xe0\x45\x10\xf2\xe0\x15\xe0"
+            "\x46\xf3\xe5\xe0\x56\xf1\xd5\xe0\x56\x10\xd5\xe0\x46"
+            "\xe0\x15\xe0\x45\xe0\x15\xe0\x45\xe0\x25\xe0\x35\xe0"
+            "\x35\xe0\x15\xe0\x55\xc6\xe0\x6e\x08\xb0\xf2\xb5\xe0"
+            "\xe0\xf3\xa5\xe0\xe0\x10\xf3\x95\xe0\xe0\x20\xf3\x85"
+            "\xe0\xe0\x30\xf2\x75\xe0\xe0\x40\x66\xe0\xe0\x4e\x04"
+            "\xe0\xce\x03\xe0\xd5" }  },
+      /* --- pixel bitmap for cmmi450 char#81 Q --- */
+      {  81,21325,                      /* character number, location */
+         44, 3,  -12, 3,      /* topleft row,col, and botleft row,col */
+          { 43,   56, 3,355, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x98\xe0\xe0\x34\x74\xe0\xc4\xb4\xe0\x84\xe4\xe0"
+            "\x54\xe0\x34\xe0\x34\xe0\x54\xe0\x14\xe0\x74\xd4\xe0"
+            "\x85\xa5\xe0\xa4\xa4\xe0\xb5\x85\xe0\xb5\x75\xe0\xc5"
+            "\x65\xe0\xd6\x46\xe0\xd6\x45\xe0\xe6\x36\xe0\xe6\x35"
+            "\xe0\xe0\x16\xf1\x26\xe0\xe0\x16\xf2\x16\xe0\xe0\x26"
+            "\x0f\x26\xe0\xe0\x26\x16\xe0\xe0\x25\x26\xe0\xe0\x16"
+            "\x25\xe0\xe0\x26\x2f\x15\xe0\xe0\x16\x35\xe0\xe0\x15"
+            "\x45\xe0\xe5\x55\xe0\xd6\x55\xe0\xd5\x75\xe0\xb5\x85"
+            "\xa4\xa5\x95\x82\x42\x84\xb4\x71\x71\x74\xd4\x61\x81"
+            "\x54\xe5\x41\x91\x44\xe0\x24\x41\x91\x25\xe0\x44\x31"
+            "\x96\xe0\x84\x11\x94\xe0\xc5\x64\xc1\xe0\x39\x22\xc1"
+            "\xe0\xe2\xb2\xe0\xe2\xb1\xe0\xe0\x13\x92\xe0\xe0\x13"
+            "\x82\xe0\xe0\x24\x54\x80\xf1\xe0\x8c\x90\xe0\x8b\xe0"
+            "\xe0\x4a\xe0\xe0\x68\xe0\xe0\x85\xe0" }  },
+      /* --- pixel bitmap for cmmi450 char#82 R --- */
+      {  82,22878,                      /* character number, location */
+         43, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 44,   44, 3,233, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xae\x0a\xe0\x6e\x0d\xe0\x95\xc6\xe0\x75\xe5\xe0\x65"
+            "\xe0\x15\xe0\x45\xe0\x35\x20\xf2\xe0\x15\xe0\x36\x10"
+            "\xf3\xe5\xe0\x46\x10\xd5\xe0\x46\xe0\x15\xe0\x45\xe0"
+            "\x25\xe0\x36\xe0\x25\xe0\x35\xe0\x25\xe0\x34\xe0\x45"
+            "\xe0\x15\xe0\x55\xe4\xe0\x75\xb5\xe0\x8e\x04\xe0\xc5"
+            "\xb4\xe0\xa5\xd3\xe0\x95\xe3\xe0\x75\xe0\x14\xe0\x65"
+            "\xe0\x15\x90\xf1\xa5\xe0\x24\x90\xf3\x95\xe0\x25\x90"
+            "\xf3\x85\xe0\x26\x90\xf2\x75\xe0\x36\x72\x66\xe0\x36"
+            "\x62\x1e\x04\xc5\x52\x2e\x04\xd5\x32\xe0\xe0\x87\x41" }  },
+      /* --- pixel bitmap for cmmi450 char#83 S --- */
+      {  83,24097,                      /* character number, location */
+         44, 4,   -1, 4,      /* topleft row,col, and botleft row,col */
+          { 37,   45, 3,229, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x58\x91\xe0\x3c\x62\xe0\x14\x74\x42\xe0\x13\xb3"
+            "\x23\xe3\xe6\xd3\xe0\x16\xc3\xe0\x34\xc4\xe0\x34\x20"
+            "\xf1\x94\xe0\x53\x20\xf3\x84\xe0\x62\x30\xf1\x85\xe0"
+            "\xa0\x86\xe0\xe0\x37\xe0\xe0\x39\xe0\xed\xe0\xbe\x01"
+            "\xe0\x9e\x02\xe0\x8e\x02\xe0\xae\xe0\xda\xe0\xe0\x28"
+            "\xe0\xe0\x36\x70\xf1\xe0\xb5\x70\xf1\xe0\xc4\x70\xf2"
+            "\x32\xe0\x74\x70\xf1\x23\xe0\x64\x80\x23\xe0\x63\xb3"
+            "\xe0\x54\xa4\xe0\x44\xb5\xe0\x33\xc6\xe0\x13\xd3\x13"
+            "\xc4\xd3\x35\x75\xe2\x6d\xe0\x21\xa7\xe0\x50" }  },
+      /* --- pixel bitmap for cmmi450 char#84 T --- */
+      {  84,25271,                      /* character number, location */
+         43, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 44,   43, 3,185, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x5e\x0e\x0b\x4e\x0e\x0b\x56\xb5\xb6\x54\xd5\xd4\x43"
+            "\xe0\x15\xe3\x43\xe5\xe0\x13\x42\xe0\x15\xe0\x13\x33"
+            "\xe0\x15\xe0\x12\x42\xe0\x25\xe0\x12\x42\xe0\x15\xe0"
+            "\x22\x20\xf2\x12\xe0\x25\xe0\x22\x22\xe0\x25\xe0\x22"
+            "\x30\xf2\xe0\x45\xe0\x70\xf3\xe0\x35\xe0\x80\xf3\xe0"
+            "\x25\xe0\x90\xf3\xe0\x15\xe0\xa0\xf3\xe5\xe0\xb0\xf3"
+            "\xd5\xe0\xc0\xf2\xc5\xe0\xd0\xb6\xe0\xd0\xf1\x2e\x09"
+            "\xe0\x54" }  },
+      /* --- pixel bitmap for cmmi450 char#85 U --- */
+      {  85,26381,                      /* character number, location */
+         43, 4,   -1, 4,      /* topleft row,col, and botleft row,col */
+          { 43,   44, 3,175, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\x1e\x04\x9e\x01\x76\xe0\x56\xc5\xe0\x74\xd5\xe0"
+            "\x73\x70\xf3\x65\xe0\x82\x80\xf3\x55\xe0\x82\x90\xf3"
+            "\x45\xe0\x82\xa0\xf3\x35\xe0\x82\xb0\xf3\x25\xe0\x82"
+            "\xc0\xf3\x15\xe0\x82\xdf\x25\xe0\x82\xef\x15\xe0\x72"
+            "\xe0\x15\xe0\x62\xe0\x20\xf1\x14\xe0\x52\xe0\x30\x14"
+            "\xe0\x42\xe0\x64\xe0\x22\xe0\x83\xe3\xe0\x94\xc3\xe0"
+            "\xc4\x74\xe0\xe0\x1c\xe0\xe0\x58\xe0\xd0" }  },
+      /* --- pixel bitmap for cmmi450 char#86 V --- */
+      {  86,27445,                      /* character number, location */
+         43, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 46,   44, 3,297, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x1e\x02\xe0\x1e\x0e\x03\xe0\x1d\x76\xe0\x97\xa5\xe0"
+            "\xb3\xd5\xe0\xb2\xe5\xe0\xa3\xe5\xe0\xa2\xe0\x16\xe0"
+            "\x82\xe0\x35\xe0\x82\xe0\x35\xe0\x72\xb0\xf1\x75\xe0"
+            "\x62\xc0\x75\xe0\x52\xe0\x65\xe0\x43\xe0\x65\xe0\x42"
+            "\xe0\x76\xe0\x22\xe0\x95\xe0\x22\xe0\x95\xe0\x12\xe0"
+            "\x20\xf1\x85\xe2\xe0\x30\x85\xd2\xe0\xc5\xc3\xe0\xc6"
+            "\xb2\xe0\xd6\xa2\xe0\xe0\x15\x93\xe0\xe0\x15\x92\xe0"
+            "\x70\xf1\x95\x82\xe0\x80\x95\x72\xe0\xe0\x45\x62\xe0"
+            "\xe0\x56\x52\xe0\xe0\x65\x42\xe0\xe0\x75\x33\xe0\xe0"
+            "\x75\x32\xe0\xc0\xf1\xa5\x22\xe0\xd0\xa5\x12\xe0\xe0"
+            "\xf1\xa7\xe0\xe0\x10\xf1\xb5\xe0\xe0\x20\xb4\xe0\xe0"
+            "\x30\xf1\xb3\xe0\xe0\x41" }  },
+      /* --- pixel bitmap for cmmi450 char#87 W --- */
+      {  87,28940,                      /* character number, location */
+         43, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 63,   44, 3,441, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x1e\x02\x8e\x02\x8e\x0e\x02\x9e\x02\x8d\x67\xe0\x37"
+            "\xe0\x27\x95\xe0\x65\xe0\x44\xb5\xe0\x65\xe0\x52\xc5"
+            "\xe0\x56\xe0\x42\xd6\xe0\x37\xe0\x42\xd6\xe0\x37\xe0"
+            "\x32\xe0\x15\xe0\x22\x15\xe0\x32\xe0\x15\xe0\x22\x15"
+            "\xe0\x22\xe0\x25\xe0\x12\x25\xe0\x13\xe0\x25\xe0\x12"
+            "\x25\xe0\x12\xb0\xf1\x65\xe2\x35\xe2\xc0\x65\xd2\x45"
+            "\xd2\xe0\x55\xc3\x45\xd2\xe0\x55\xc2\x55\xc2\xe0\x65"
+            "\xb2\x65\xc2\xe0\x65\xb2\x65\xb2\xe0\x75\xa2\x76\x93"
+            "\xe0\x75\xa2\x76\x92\xe0\x20\xf1\x65\x92\x95\x82\xe0"
+            "\x30\x65\x82\xa5\x72\xe0\xa6\x63\xa5\x72\xe0\xb5\x62"
+            "\xb5\x62\xe0\xc5\x52\xc5\x62\xe0\xc5\x52\xc5\x52\xe0"
+            "\xd5\x42\xd5\x43\xe0\xd5\x42\xd5\x42\xe0\x70\xf1\x75"
+            "\x32\xe5\x32\xe0\x80\x75\x22\xe0\x15\x22\xe0\xe0\x25"
+            "\x13\xe0\x15\x22\xe0\xe0\x25\x12\xe0\x25\x12\xe0\xe0"
+            "\x37\xe0\x35\x12\xe0\xe0\x37\xe0\x37\xe0\xe0\x46\xe0"
+            "\x47\xe0\xe0\x46\xe0\x55\xe0\xc0\xf1\x75\xe0\x64\xe0"
+            "\xd0\xf1\x74\xe0\x73\xe0\xe0\x82\xe0\x82\xe0\xe0\x10" }  },
+      /* --- pixel bitmap for cmmi450 char#88 X --- */
+      {  88,30377,                      /* character number, location */
+         43, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 53,   43, 2,165, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0c\x10\x0a\x0f\x0c\x10\x0a\x0e\x12\x08\x0f\x08\x17"
+            "\x05\x12\x04\x1a\x06\x11\x03\x1c\x05\x10\x03\x1d\x06"
+            "\x0e\x03\x1e\x06\x0d\x03\x20\x06\x0b\x03\x21\x06\x0b"
+            "\x02\x23\x05\x0a\x02\x24\x06\x08\x02\x26\x05\x07\x02"
+            "\x27\x06\x05\x02\x28\x06\x04\x02\x2a\x06\x02\x02\x2b"
+            "\x06\x01\x02\x2d\x08\x2d\x07\x2f\x05\x17\x00\xff\x01"
+            "\x19\x06\x16\x00\xff\x01\x18\x08\x15\x00\x17\x02\x02"
+            "\x05\x2b\x02\x03\x06\x29\x02\x05\x05\x28\x02\x06\x06"
+            "\x26\x02\x07\x06\x25\x02\x09\x06\x23\x02\x0a\x06\x22"
+            "\x02\x0c\x05\x21\x03\x0c\x06\x1f\x03\x0e\x05\x1e\x03"
+            "\x0f\x06\x1c\x03\x10\x06\x1b\x03\x12\x06\x19\x03\x13"
+            "\x06\x18\x03\x15\x05\x17\x04\x15\x06\x13\x08\x13\x08"
+            "\x0e\x0e\x0d\x11\x08\x0f\x0d\x11\x08" }  },
+      /* --- pixel bitmap for cmmi450 char#89 Y --- */
+      {  89,31585,                      /* character number, location */
+         43, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 46,   43, 3,261, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0e\x03\xe0\x2e\x0e\x02\xe0\x1e\x57\xe0\x97\xa6\xe0"
+            "\xa3\xd6\xe0\x93\xe0\x15\xe0\x92\xe0\x26\xe0\x72\xe0"
+            "\x45\xe0\x62\xe0\x56\xe0\x42\xe0\x66\xe0\x32\xe0\x85"
+            "\xe0\x23\xe0\x86\xe3\xe0\x96\xd3\xe0\xb5\xd2\xe0\xc6"
+            "\xb2\xe0\xd6\xa2\xe0\xe0\x16\x82\xe0\xe0\x26\x72\xe0"
+            "\xe0\x45\x63\xe0\xe0\x46\x43\xe0\xe0\x56\x33\xe0\xe0"
+            "\x75\x32\xe0\xe0\x86\x12\xe0\xe0\x98\xe0\xe0\xb6\xe0"
+            "\xc0\xf2\xe5\xe0\xd0\xe4\xe0\xe0\xf2\xd5\xe0\xe0\xd4"
+            "\xe0\xe0\x10\xf2\xc5\xe0\xe0\x10\xc4\xe0\xe0\x20\xf2"
+            "\xb5\xe0\xe0\x20\xa6\xe0\xe0\x6e\x04\xe0\xee\x03\xe0"
+            "\xb3" }  },
+      /* --- pixel bitmap for cmmi450 char#90 Z --- */
+      {  90,32788,                      /* character number, location */
+         43, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 43,   43, 2,141, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0d\x1e\x0c\x1e\x0d\x09\x0f\x05\x0e\x06\x11\x05\x0e"
+            "\x05\x12\x06\x0e\x04\x12\x06\x0f\x03\x12\x06\x0f\x03"
+            "\x12\x06\x10\x03\x12\x05\x11\x02\x12\x05\x11\x03\x11"
+            "\x05\x12\x02\x11\x05\x13\x02\x10\x05\x13\x02\x10\x05"
+            "\x25\x05\x25\x06\x24\x06\x24\x06\x24\x06\x25\x05\x25"
+            "\x05\x25\x05\x25\x05\x25\x05\x25\x05\x25\x05\x25\x05"
+            "\x0f\x02\x14\x06\x0f\x02\x13\x06\x0f\x02\x13\x06\x10"
+            "\x02\x13\x05\x11\x02\x12\x05\x11\x03\x11\x05\x12\x02"
+            "\x11\x05\x13\x02\x10\x05\x13\x03\x0f\x05\x13\x03\x0f"
+            "\x05\x14\x03\x0e\x05\x14\x04\x0d\x06\x12\x05\x0d\x06"
+            "\x12\x06\x0c\x06\x10\x09\x0b\xff\x01\x1f\x0c" }  },
+      /* --- pixel bitmap for cmmi450 char#91 \flat --- */
+      {  91,130976,                     /* character number, location */
+         47, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 18,   48, 3,105, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xfe\x02\xe0\x2f\x22\xe0\x22\x54\x72\x2a\x4e\x01\x35"
+            "\x65\x23\x95\x12\xa5\x1f\x62\xb5\x0f\x12\xa5\x12\xa4"
+            "\x22\x95\x22\x94\x32\x85\x32\x84\x42\x74\x52\x64\x62"
+            "\x54\x72\x44\x82\x34\x92\x24\xa2\x14\xb5\xd4\xe2\xe0"
+            "\x20" }  },
+      /* --- pixel bitmap for cmmi450 char#92 \natural --- */
+      {  92,131831,                     /* character number, location */
+         45, 4,  -13, 4,      /* topleft row,col, and botleft row,col */
+          { 16,   58, 3,68, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xfc\x02\xe2\xc4\x97\x6a\x3b\x0f\x1e\x02\x0b\x3a\x67"
+            "\x92\x0f\xe2\xc2\x0f\x32\xc2\x02\x97\x6a\x3b\x0f\x1e"
+            "\x02\x0b\x3a\x67\x94\xc2\xf7\xe2" }  },
+      /* --- pixel bitmap for cmmi450 char#93 \sharp --- */
+      {  93,132812,                     /* character number, location */
+         44, 3,  -13, 3,      /* topleft row,col, and botleft row,col */
+          { 18,   57, 3,131, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\xd2\x30\xf8\x32\x82\x30\x32\x82\x12\x32\x76\x32"
+            "\x49\x32\x1c\x2e\x0e\x04\x2c\x12\x39\x42\x36\x72\x32"
+            "\x12\x82\x30\xfe\x32\x82\x30\xf1\x32\x82\x30\x32\x82"
+            "\x12\x32\x76\x32\x49\x32\x1c\x2e\x0e\x04\x2c\x12\x39"
+            "\x42\x36\x72\x32\x12\x82\x30\xf4\x32\x82\x30\xf2\x32"
+            "\xd0" }  },
+      /* --- pixel bitmap for cmmi450 char#94 \smile --- */
+      {  94,133878,                     /* character number, location */
+         23, 3,    9, 3,      /* topleft row,col, and botleft row,col */
+          { 56,   14, 2,49, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x00\x02\x34\x05\x32\x03\x01\x02\x32\x02\x03\x03\x2e"
+            "\x03\x05\x03\x2c\x03\x07\x03\x2a\x03\x09\x04\x26\x04"
+            "\x0c\x04\x22\x04\x0f\x05\x1e\x05\x12\x06\x18\x06\x16"
+            "\x09\x0e\x09\x1a\x1c\x1f\x16\x27\x0c\x16" }  },
+      /* --- pixel bitmap for cmmi450 char#95 \frown --- */
+      {  95,134778,                     /* character number, location */
+         24, 3,    8, 3,      /* topleft row,col, and botleft row,col */
+          { 56,   16, 2,56, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x16\x0c\x28\x14\x21\x1a\x1c\x09\x0c\x09\x18\x06\x16"
+            "\x06\x14\x05\x1c\x05\x11\x04\x20\x04\x0f\x03\x24\x03"
+            "\x0d\x03\x26\x03\x0a\x03\x2a\x03\x07\x03\x2c\x03\x06"
+            "\x02\x2e\x02\x05\x02\x30\x02\x03\x02\x32\x02\x01\xff"
+            "\x01\x02\x34\x02" }  },
+      /* --- pixel bitmap for cmmi450 char#96 \ell --- */
+      {  96,105902,                     /* character number, location */
+         44, 0,   -1, 0,      /* topleft row,col, and botleft row,col */
+          { 25,   45, 3,207, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x54\xe0\x62\x31\xe0\x42\x42\xe0\x22\x61\xe0\x13"
+            "\x61\xe0\x12\x62\xe3\x62\xf1\xd3\x72\xc3\x82\xc3\x72"
+            "\xc4\x72\xc3\x82\x10\xf1\xa4\x72\x20\xa3\x72\xc4\x72"
+            "\xc4\x62\xc4\x72\xc4\x62\xd4\x52\xe4\x43\xd4\x52\xe4"
+            "\x42\xe0\x14\x32\xe0\x24\x22\xe0\x33\x22\xe0\x34\x13"
+            "\xe0\x37\xe0\x46\xe0\x55\xe0\x64\xe0\x73\xe0\x74\xe0"
+            "\x65\xe0\x56\xe0\x43\x13\xe0\x33\x23\xe0\x32\x42\xd2"
+            "\x83\xb2\x93\xa2\xb2\x92\xd1\x73\xe2\x43\xe0\x45\x94" }  },
+      /* --- pixel bitmap for cmmi450 char#97 a --- */
+      {  97,33842,                      /* character number, location */
+         28, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 28,   29, 3,125, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xc5\xe0\x73\x41\xe0\x43\x71\x22\xc3\x86\xa3\xa5\x94"
+            "\xa5\x84\xb4\x85\xb4\x84\xc4\x75\xc4\x74\xc4\x60\xf2"
+            "\x15\xc4\x6f\x35\xc4\x74\xc4\x71\x0f\x24\xc4\x62\x04"
+            "\xb4\x62\x23\xa5\x62\x23\xa1\x13\x61\x43\x81\x23\x52"
+            "\x43\x71\x33\x51\x63\x42\x53\x31\x95\x94\x50" }  },
+      /* --- pixel bitmap for cmmi450 char#98 b --- */
+      {  98,34802,                      /* character number, location */
+         43, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 23,   44, 3,143, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x75\xb0\xf1\x29\xc0\x65\xe0\x54\xc0\xf3\x64\xd0\xf3"
+            "\x54\xe0\xf1\x44\xe0\x10\x44\x45\xa4\x22\x52\x74\x22"
+            "\x72\x64\x11\x93\x55\xa4\x45\xb3\x35\xc3\x10\xf1\x24"
+            "\xd4\x24\xc5\xf3\x14\xd5\x0f\x24\xd5\x14\xd4\x24\xc5"
+            "\x2f\x13\xd4\x33\xc4\x43\xc3\x62\xb4\x63\x94\x82\x93"
+            "\x93\x63\xc3\x43\xe0\x16\xc0" }  },
+      /* --- pixel bitmap for cmmi450 char#99 c --- */
+      {  99,35735,                      /* character number, location */
+         28, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 23,   29, 3,101, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xd7\xe3\x52\xb3\x91\x93\xa2\x73\x94\x54\x95\x53\x96"
+            "\x44\x96\x34\xa5\x35\xb3\x45\xe0\x20\xf2\x15\xe0\x3f"
+            "\x45\xe0\x44\xe0\x54\xe0\x45\xe0\x32\x13\xe0\x32\x14"
+            "\xe0\x12\x33\xe2\x43\xc3\x63\xa2\x93\x63\xe7\x94" }  },
+      /* --- pixel bitmap for cmmi450 char#100 d --- */
+      { 100,36763,                      /* character number, location */
+         43, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 29,   44, 3,171, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xa5\xf1\xe0\x59\x10\xe0\x95\xe0\xb4\x10\xf3\xe0"
+            "\x94\x20\xf3\xe0\x84\x30\xf1\xe0\x74\x40\xc5\x44\xe3"
+            "\x41\x34\xc3\x71\x14\xc3\x86\xb3\xa5\xa4\xa5\x94\xb4"
+            "\x95\xb4\x94\xc4\x85\xc4\x84\xc4\x70\xf2\x15\xc4\x7f"
+            "\x35\xc4\x84\xc4\x71\x1f\x24\xc4\x62\x14\xb4\x62\x33"
+            "\xa5\x62\x33\xa1\x13\x61\x53\x81\x23\x52\x53\x71\x33"
+            "\x51\x73\x42\x53\x31\xa5\x94\x65" }  },
+      /* --- pixel bitmap for cmmi450 char#101 e --- */
+      { 101,37724,                      /* character number, location */
+         28, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 23,   29, 3,99, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xd7\xd4\x52\xb3\x91\x84\xa2\x64\xb2\x54\xc2\x44\xd2"
+            "\x35\xd2\x34\xe2\x25\xd2\x34\xc3\x35\xa4\x4e\x02\x75"
+            "\xe0\x3f\x55\xe0\x45\xe0\x31\xf1\x14\xe0\x22\x14\xe0"
+            "\x12\x33\xe2\x53\xb3\x72\xa2\xa2\x63\xe7\x95" }  },
+      /* --- pixel bitmap for cmmi450 char#102 f --- */
+      { 102,38934,                      /* character number, location */
+         44, 3,  -13, 3,      /* topleft row,col, and botleft row,col */
+          { 31,   57, 3,175, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x95\xe0\xa3\x32\xe0\x83\x52\xe0\x63\x44\xe0\x63"
+            "\x36\xe0\x44\x36\xe0\x44\x26\xe0\x53\x45\xe0\x44\x44"
+            "\x20\xf2\xe0\x34\xa0\xf4\xe0\x24\xb0\xf1\xae\x02\x50"
+            "\xf3\xe0\x14\xc0\xf4\xe4\xd0\xf4\xd4\xe0\xf4\xc4\xe0"
+            "\x10\xf4\xb4\xe0\x20\xf3\xa4\xe0\x30\xa3\xe0\x63\x44"
+            "\xe0\x55\x34\xe0\x4f\x16\x33\xe0\x55\x33\xe0\x64\x42"
+            "\xe0\x81\x53\xe0\x91\x42\xe0\xb4\xe0\xa0" }  },
+      /* --- pixel bitmap for cmmi450 char#103 g --- */
+      { 103,40015,                      /* character number, location */
+         28, 1,  -13, 1,      /* topleft row,col, and botleft row,col */
+          { 29,   41, 3,171, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x25\xe0\x83\x42\xe0\x43\x72\x22\xc3\x96\xa3\xa6"
+            "\x94\xb5\x84\xc4\x85\xc4\x84\xd4\x75\xd4\x74\xd4\x20"
+            "\xf2\x55\xd4\x20\xf3\x45\xd4\x30\x45\xc4\x40\xf1\x44"
+            "\xd4\x40\x44\xc5\x93\xc4\xa4\xa5\xb3\x91\x14\xc2\x81"
+            "\x24\xd2\x52\x24\xe0\x25\x44\x60\xf1\xe0\x54\x60\xf2"
+            "\xe0\x44\x70\x23\xd3\x95\xb4\x86\xa4\x96\xa3\xa5\xa3"
+            "\xb4\xa3\xd4\x73\xe0\x49\xe0\x24" }  },
+      /* --- pixel bitmap for cmmi450 char#104 h --- */
+      { 104,41074,                      /* character number, location */
+         43, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 31,   44, 3,183, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xa5\xe0\x20\xf1\x59\xe0\x30\x95\xe0\xd4\xe0\x30\xf3"
+            "\x94\xe0\x40\xf3\x84\xe0\x50\xf1\x74\xe0\x60\x74\x56"
+            "\xe0\x24\x32\x53\xd4\x22\x83\xc4\x12\x93\xc6\xa4\xb5"
+            "\xb4\x50\xf1\x55\xc4\x50\xf1\x54\xd4\x50\xf3\x44\xd4"
+            "\x60\xf2\x34\xd4\x70\x34\xc4\xa4\xd4\x71\xf1\x24\xc4"
+            "\x72\x24\xc4\x71\x24\xc4\x72\x24\xc4\x71\x34\xc4\x62"
+            "\x34\xd3\x61\x34\xe3\x51\x44\xe0\x12\x32\x62\xe0\x35"
+            "\x60" }  },
+      /* --- pixel bitmap for cmmi450 char#105 i --- */
+      { 105,42056,                      /* character number, location */
+         42, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 17,   43, 3,123, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xd3\xd5\xf1\xb6\xb5\xd3\x20\xf7\xe0\x30\x74\xb2\x32"
+            "\x92\x43\x72\x54\x61\x64\x30\xf1\x22\x64\x30\x12\x74"
+            "\x30\xf1\x12\x64\x40\xf2\x84\x50\xf1\x74\x60\xf2\x64"
+            "\x70\x54\x71\xf1\x54\x62\x44\x71\x10\xf1\x44\x62\x10"
+            "\x43\x62\x63\x61\x82\x51\x93\x31\xc4\x61" }  },
+      /* --- pixel bitmap for cmmi450 char#106 j --- */
+      { 106,43075,                      /* character number, location */
+         42,-1,  -13,-1,      /* topleft row,col, and botleft row,col */
+          { 26,   55, 3,161, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x83\xe0\x85\xe0\x66\xf1\xe0\x65\x10\xe0\x73\x20"
+            "\xf7\xe0\xc0\xe0\x15\xe0\x62\x32\xe0\x32\x62\xe0\x12"
+            "\x73\xe1\x83\xd2\x83\x30\xf1\x92\x84\x30\xf1\x82\x94"
+            "\x30\xf3\xe0\x44\x40\xf3\xe0\x34\x50\xf3\xe0\x24\x60"
+            "\xf3\xe0\x14\x70\xf3\xe4\x80\xf2\xd4\x90\x23\x74\xb5"
+            "\x64\xa6\x63\xb6\x53\xc5\x53\xd4\x53\xe0\x12\x53\xe0"
+            "\x45\xe0\x41" }  },
+      /* --- pixel bitmap for cmmi450 char#107 k --- */
+      { 107,44172,                      /* character number, location */
+         43, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 29,   44, 3,203, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xa5\xe0\xf1\x59\xe0\x10\x95\xe0\xb4\xe0\x10\xf3\x94"
+            "\xe0\x20\xf3\x84\xe0\x30\xf1\x74\xe0\x40\x74\xb5\x94"
+            "\x92\x42\x74\x91\x54\x64\x81\x55\x64\x71\x56\x64\x61"
+            "\x66\x54\x61\x75\x64\x51\x93\x74\x41\xe0\x64\x31\xe0"
+            "\x64\x31\xe0\x74\x12\xe0\x85\xe0\xaa\xe0\x44\x54\xe0"
+            "\x24\x64\xe0\x14\x74\xe4\x84\xc4\x94\x81\x10\xf2\x24"
+            "\x94\x72\x10\xf1\x14\xa3\x72\x20\x14\xa3\x71\x44\xa3"
+            "\x62\x34\xc3\x51\x44\xd2\x41\x62\xe0\x15\x60" }  },
+      /* --- pixel bitmap for cmmi450 char#108 l --- */
+      { 108,45018,                      /* character number, location */
+         43, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 14,   44, 3,95, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x95\xf1\x49\x10\x85\xa4\x10\xf3\x84\x20\xf3\x74\x30"
+            "\xf3\x64\x40\xf3\x54\x50\xf3\x44\x60\xf3\x34\x70\xf3"
+            "\x24\x80\x14\x71\x10\xf2\x14\x62\x1f\x14\x62\x20\x13"
+            "\x61\x43\x52\x43\x51\x63\x31\x94\x61" }  },
+      /* --- pixel bitmap for cmmi450 char#109 m --- */
+      { 109,46339,                      /* character number, location */
+         28, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 52,   29, 3,203, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x64\xa6\xb6\xd2\x32\x72\x53\x72\x53\xb1\x52\x42\x83"
+            "\x42\x83\x92\x53\x22\x93\x32\x93\x82\x63\x12\xa4\x12"
+            "\xa4\x72\x65\xb6\xb4\x71\x65\xc5\xc4\x62\x65\xc5\xc4"
+            "\x50\xf1\x12\x64\xd4\xd4\x50\xf3\x84\xd4\xd4\x60\xf2"
+            "\x74\xd4\xd4\x70\x74\xd4\xc4\xe4\xd4\xd4\x71\xf1\x64"
+            "\xd4\xc4\x72\x64\xd4\xc4\x71\x10\xf1\x54\xd4\xc4\x72"
+            "\x10\x54\xd4\xc4\x62\x74\xd4\xd3\x61\x74\xd4\xe3\x51"
+            "\x84\xd4\xe0\x12\x32\xa2\xe0\x12\xe0\x35\x60" }  },
+      /* --- pixel bitmap for cmmi450 char#110 n --- */
+      { 110,47530,                      /* character number, location */
+         28, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 35,   29, 3,151, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x64\xa6\xd2\x32\x72\x53\xb1\x43\x42\x83\x92\x53\x22"
+            "\x93\x82\x63\x12\xa4\x72\x65\xb4\x71\x65\xc4\x62\x65"
+            "\xc4\x50\xf1\x12\x64\xd4\x50\xf3\x84\xd4\x60\xf2\x74"
+            "\xd4\x70\x74\xc4\xe4\xd4\x71\xf1\x64\xc4\x72\x64\xc4"
+            "\x71\x10\xf1\x54\xc4\x72\x10\x54\xc4\x62\x74\xd3\x61"
+            "\x74\xe3\x51\x84\xe0\x12\x32\xa2\xe0\x35\x64" }  },
+      /* --- pixel bitmap for cmmi450 char#111 o --- */
+      { 111,48392,                      /* character number, location */
+         28, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 26,   29, 3,111, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xd6\xe0\x43\x52\xe3\x83\xb3\xa3\x84\xb3\x74\xc4\x63"
+            "\xd4\x54\xd5\x34\xe5\xf1\x25\xe5\xf2\x15\xe0\x15\x0f"
+            "\x25\xe0\x15\x15\xe0\x14\x25\xe5\x24\xe0\x14\x34\xe5"
+            "\x34\xe4\x53\xd4\x64\xc3\x74\xb3\x93\xa3\xb3\x83\xd3"
+            "\x53\xe0\x37\xd4" }  },
+      /* --- pixel bitmap for cmmi450 char#112 p --- */
+      { 112,49456,                      /* character number, location */
+         28,-2,  -12,-2,      /* topleft row,col, and botleft row,col */
+          { 32,   40, 3,171, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x94\x95\xc2\x32\x62\x42\xb1\x52\x41\x72\x92\x53\x12"
+            "\x83\x72\x63\x11\x94\x62\x64\xb3\x61\x65\xb4\xf1\x42"
+            "\x64\xc4\x42\x64\xb5\xf3\xb4\xc5\xf2\xa4\xc5\x10\xa4"
+            "\xc4\xb4\xc5\x20\xf1\x94\xc4\x30\x94\xb4\xc5\xb4\xc5"
+            "\xa4\xd5\x94\xe6\x83\xe4\x21\x73\xe0\x14\x31\x43\xe0"
+            "\x34\x45\xe0\x54\xe0\x70\xf3\x64\xe0\x80\xf2\x54\xe0"
+            "\x90\x45\xe0\x9e\xe0\x4d\xe0\x53" }  },
+      /* --- pixel bitmap for cmmi450 char#113 q --- */
+      { 113,50497,                      /* character number, location */
+         28, 3,  -12, 3,      /* topleft row,col, and botleft row,col */
+          { 26,   40, 3,135, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xc5\x81\xa3\x42\x52\x83\x72\x32\x83\x92\x13\x73\xa6"
+            "\x64\xb5\x10\xf1\x44\xc4\x20\x34\xd4\x45\xd4\x44\xd4"
+            "\x30\xf2\x15\xd4\x3f\x35\xd4\x4f\x34\xd4\x54\xc4\x73"
+            "\xb5\x73\xa6\x83\x82\x14\x92\x72\x14\xb2\x43\x24\xc6"
+            "\x44\xe0\x84\x70\xf3\xe4\x80\xf2\xd4\x90\xc5\xe0\x2e"
+            "\x01\xbe\x50" }  },
+      /* --- pixel bitmap for cmmi450 char#114 r --- */
+      { 114,51488,                      /* character number, location */
+         28, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 26,   29, 3,107, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x64\x85\x72\x32\x62\x42\x51\x52\x32\x54\x32\x53\x12"
+            "\x55\x22\x63\x11\x56\x22\x65\x56\x21\x65\x65\x22\x64"
+            "\x83\x20\xf1\x12\x64\xd0\xf3\x84\xe0\xf3\x74\xe0\x10"
+            "\xf3\x64\xe0\x20\xf3\x54\xe0\x30\xf1\x44\xe0\x40\x52"
+            "\xe0\x50" }  },
+      /* --- pixel bitmap for cmmi450 char#115 s --- */
+      { 115,52520,                      /* character number, location */
+         28, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 23,   29, 3,103, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xc7\xe3\x62\xa3\x92\x83\xb2\x72\xc2\x63\xa4\xf1\x53"
+            "\xa5\x54\xa3\x64\xe0\x56\xe0\x3a\xec\xcc\xcc\xe0\x19"
+            "\xe0\x36\xe0\x54\x52\xc4\x44\xc3\x20\xf1\x16\xb3\x26"
+            "\xb3\x44\xc3\x42\xd3\x52\xd2\x72\xb2\x93\x63\xd8\xa2" }  },
+      /* --- pixel bitmap for cmmi450 char#116 t --- */
+      { 116,53330,                      /* character number, location */
+         39, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 20,   40, 3,99, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xc3\x50\xf3\xb4\x50\xf3\xa4\x60\xf2\x94\x70\x1e\x0e"
+            "\x0a\x10\xf2\x84\x80\xf3\x74\x90\xf3\x64\xa0\xf3\x54"
+            "\xb0\x44\xa1\x10\xf1\x44\x92\x10\x44\x82\x54\x92\x54"
+            "\x82\x73\x81\x83\x71\x93\x61\xb3\x32\xe5\x83" }  },
+      /* --- pixel bitmap for cmmi450 char#117 u --- */
+      { 117,54438,                      /* character number, location */
+         28, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 33,   29, 3,143, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x75\xe0\xd1\x42\xd3\x82\x53\xb4\x81\x63\xb4\x72\x63"
+            "\xb4\x62\x73\xb4\x62\x64\xa4\x50\xf1\x12\x74\xa4\x50"
+            "\x12\x64\xb4\x50\xf1\x94\xa4\x60\xf1\x84\xb4\x60\xf3"
+            "\x74\xb4\x70\x64\xb4\x71\xf2\x64\xb4\x62\xf1\x64\xa4"
+            "\x62\x10\x64\x95\x61\x93\x91\x13\x52\xa3\x71\x23\x51"
+            "\xc2\x52\x43\x31\xe6\x84\x53" }  },
+      /* --- pixel bitmap for cmmi450 char#118 v --- */
+      { 118,55437,                      /* character number, location */
+         28, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 28,   29, 3,133, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x75\xc3\x71\x42\xa5\x42\x53\x95\x41\x63\x95\x32\x63"
+            "\xa4\x22\x73\xa4\x22\x64\xb3\xf1\x12\x74\xb3\x12\x64"
+            "\xc3\xf1\x94\xc2\x10\xf1\x84\xd2\x10\xf2\x74\xd2\x20"
+            "\x74\xc2\x30\xf1\x64\xd2\x30\xf1\x64\xc2\x40\x64\xb2"
+            "\xb4\xb1\xd3\xa2\xd3\x92\xe0\x13\x72\xe0\x33\x52\xe0"
+            "\x66\xb2" }  },
+      /* --- pixel bitmap for cmmi450 char#119 w --- */
+      { 119,56731,                      /* character number, location */
+         28, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 42,   29, 3,183, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x75\xe0\xc3\x71\x42\xd3\x85\x42\x53\xb4\x85\x41\x63"
+            "\xb4\x85\x32\x63\xb4\x94\x22\x73\xb4\x94\x22\x64\xa4"
+            "\xb3\xf1\x12\x74\xa4\xb3\x12\x64\xb4\xb3\xf1\x94\xa4"
+            "\xc2\x10\xf1\x84\xb4\xc2\x10\xf2\x74\xb4\xc2\x20\x74"
+            "\xb4\xc1\x30\xf1\x64\xb4\xc2\x30\x64\xb4\xc1\xa4\xb4"
+            "\xb2\xa4\xb4\xb1\xb4\xa5\xa2\xc3\xa5\xa1\xd4\x82\x13"
+            "\x92\xe3\x81\x33\x72\xe0\x24\x42\x53\x52\xe0\x66\x86"
+            "\xa4" }  },
+      /* --- pixel bitmap for cmmi450 char#120 x --- */
+      { 120,58119,                      /* character number, location */
+         28, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 31,   29, 3,141, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x95\x95\xa2\x52\x52\x42\x82\x72\x32\x53\x62\x83\x12"
+            "\x55\x42\x95\x56\x32\xa5\x56\x32\xa4\x65\x32\xb4\x73"
+            "\x20\xf1\x22\xb4\xc0\xf3\xe4\xd0\xf3\xd4\xe0\xc4\xc1"
+            "\x20\xf1\xc4\xb2\x20\x23\x74\xa2\x45\x55\xa2\x36\x55"
+            "\x92\x46\x46\x92\x45\x52\x13\x82\x54\x52\x32\x72\x72"
+            "\x52\x52\x42\xb5\x85\xa5" }  },
+      /* --- pixel bitmap for cmmi450 char#121 y --- */
+      { 121,59317,                      /* character number, location */
+         28, 1,  -13, 1,      /* topleft row,col, and botleft row,col */
+          { 29,   41, 3,181, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x75\xe0\x91\x42\xd3\x51\x53\xb4\x41\x63\xb4\x32\x63"
+            "\xb4\x22\x73\xb4\x22\x64\xa4\x10\xf1\x12\x74\xa4\x10"
+            "\x12\x64\xb4\x10\xf1\x94\xa4\x20\xf1\x84\xb4\x20\xf3"
+            "\x74\xb4\x30\xf3\x64\xb4\x40\xf1\x64\xa4\x50\x64\x95"
+            "\xc3\x95\xd3\x75\xe0\x12\x52\x14\xe0\x26\x34\xe0\xb4"
+            "\xe0\xa4\xa4\xb4\x95\xa4\xa6\x94\x96\x94\xa6\x93\xb5"
+            "\x93\xd2\xa3\xe0\x11\x93\xe0\x32\x53\xe0\x67\xe0\x36" }  },
+      /* --- pixel bitmap for cmmi450 char#122 z --- */
+      { 122,60367,                      /* character number, location */
+         28, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 27,   29, 3,129, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xb4\xa2\x97\x82\x99\x72\x8b\x52\x84\x54\x32\x92\xa5"
+            "\x93\xd2\x92\xd2\xe0\xa2\xe0\xa2\xe0\xa2\xe0\xa2\xe0"
+            "\xa2\xe0\x93\xe0\x92\xe0\xa2\xe0\xa2\xe0\xa2\xe0\xa2"
+            "\xe0\xa2\xe2\x82\xe0\x12\x72\xe0\x12\x72\xe0\x13\x68"
+            "\x93\x72\x53\x55\x62\x7b\x62\x8a\x62\xa7\x82\xb5\x94" }  },
+      /* --- pixel bitmap for cmmi450 char#123 \imath --- */
+      { 123,106788,                     /* character number, location */
+         28, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 17,   29, 3,103, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x74\xb2\x32\x92\x43\x72\x54\x61\x64\x30\xf1\x22\x64"
+            "\x30\x12\x74\x30\xf1\x12\x64\x40\xf2\x84\x50\xf1\x74"
+            "\x60\xf2\x64\x70\x54\x71\xf1\x54\x62\x44\x71\x10\xf1"
+            "\x44\x62\x10\x43\x62\x63\x61\x82\x51\x93\x31\xc4\x64" }  },
+      /* --- pixel bitmap for cmmi450 char#124 \jmath --- */
+      { 124,107655,                     /* character number, location */
+         28,-1,  -13,-1,      /* topleft row,col, and botleft row,col */
+          { 23,   41, 3,113, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x15\xe0\x22\x42\xe2\x62\xc2\x73\xf1\xa2\x83\xf1"
+            "\x92\x84\xf1\x82\x94\xf3\xe0\x44\x10\xf3\xe0\x34\x20"
+            "\xf3\xe0\x24\x30\xf3\xe0\x14\x40\xf3\xe4\x50\xf2\xd4"
+            "\x60\x23\x83\x85\x64\x76\x63\x86\x53\x95\x54\x94\x62"
+            "\xc3\x43\xe0\x16\xe0" }  },
+      /* --- pixel bitmap for cmmi450 char#125 \wp --- */
+      { 125,108880,                     /* character number, location */
+         28, 5,  -13, 5,      /* topleft row,col, and botleft row,col */
+          { 33,   41, 3,255, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x92\xe0\xe0\x12\xe0\xe0\x21\xe0\xe0\x32\xe7\x92\xc3"
+            "\x63\x71\xc2\xa2\x52\xa2\xc3\x41\xa1\xe0\x12\x32\x82"
+            "\xe0\x23\x22\x72\xe0\x33\x12\x72\xe0\x43\x12\x62\xe0"
+            "\x53\x12\x61\xe0\x63\x12\x52\xe0\x63\x12\x42\xe0\x64"
+            "\x0f\x13\x32\xe0\x74\x12\x22\xe0\x84\x13\x12\xe0\x74"
+            "\x25\xe0\x84\x25\x91\xc3\x44\x83\xa4\x54\x63\xb3\x55"
+            "\x62\xb3\x66\x52\xa3\x72\x14\x52\x83\x72\x34\x42\x73"
+            "\x82\x44\x42\x43\xa2\x53\x65\xc2\x54\xe0\x7f\x12\x73"
+            "\xe0\x7f\x12\x82\xe0\x7f\x12\x72\xe0\x81\x81\xe0\x92"
+            "\x62\xe0\x92\x52\xe0\xb1\x42\xe0\xd4\xe0\xd2" }  },
+      /* --- pixel bitmap for cmmi450 char#126 \vec --- */
+      { 126,109654,                     /* character number, location */
+         45,12,   32,12,      /* topleft row,col, and botleft row,col */
+          { 27,   13, 3,55, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xe0\x71\x50\xf1\xe0\x63\x40\xe0\x64\xe0\xa4\x2e\x0c"
+            "\x1e\x0e\x0e\x0b\xe0\x75\xe0\x74\xe0\x84\xe0\x84\xe0"
+            "\xa2\x73" }  },
+      /* --- pixel bitmap for cmmi450 char#127 (noname) --- */
+      { 127,110210,                     /* character number, location */
+         41,17,   34,17,      /* topleft row,col, and botleft row,col */
+          { 24,    7, 3,30, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x8a\xbe\x01\x75\x95\x43\xe0\x13\x22\xe0\x42\x1f\x12"
+            "\xe0\x62" }  },
+      /* --- trailer  --- */
+      { -99, -999,  0,0,0,0, { 0,0,0,0, (pixbyte *)"\0" }  }
+   } ;
+
+
+/* --- size=10 for .600gf ---
+ * mf '\mode=preview; mag=magstep(-8.04680493988053835544); input cmmi10'
+ * --------------------------------------------------------------------- */
+/* --- fontdef for cmmi600 --- */
+static	chardef  cmmi600[] =
+   {
+      /* --- pixel bitmap for cmmi600 char#0 \Gamma --- */
+      {   0,64212,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 58,   57, 3,335, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\xde\x0e\x0e\x03\xe0\x78\xe0\x69\xe0\x77\xe0\xa6"
+            "\xe0\x77\xe0\xb4\xe0\x78\xe0\xb4\xe0\x78\xe0\xc3\x10"
+            "\xf1\xe0\x67\xe0\xd3\x10\xf1\xe0\x58\xe0\xd3\x10\xe0"
+            "\x57\xe0\xe3\xe0\x67\xe0\xe2\x20\xf1\xe0\x48\xe0\xe2"
+            "\x20\xf1\xe0\x47\xe0\xe0\x12\x20\xe0\x38\xe0\xe0\x12"
+            "\xe0\x58\xe0\xe0\x50\xf1\xe0\x37\xe0\xe0\x60\xf1\xe0"
+            "\x28\xe0\xe0\x60\xf1\xe0\x27\xe0\xe0\x70\xf1\xe0\x18"
+            "\xe0\xe0\x70\xf1\xe0\x17\xe0\xe0\x80\xf1\xe8\xe0\xe0"
+            "\x80\xf1\xe7\xe0\xe0\x90\xf1\xd8\xe0\xe0\x90\xf1\xd7"
+            "\xe0\xe0\xa0\xf1\xc8\xe0\xe0\xa0\xf1\xc7\xe0\xe0\xb0"
+            "\xf1\xb8\xe0\xe0\xb0\xf1\xb7\xe0\xe0\xc0\xf1\xa8\xe0"
+            "\xe0\xc0\xf1\xa7\xe0\xe0\xd0\xf1\x98\xe0\xe0\xd0\x97"
+            "\xe0\xe0\xe0\x89\xe0\xe0\xdf\x2e\x0c\xe0\xe0\x40" }  },
+      /* --- pixel bitmap for cmmi600 char#1 \Delta --- */
+      {   1,65225,                      /* character number, location */
+         60, 4,    0, 4,      /* topleft row,col, and botleft row,col */
+          { 61,   60, 2,220, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x2c\x03\x0e\x00\xff\x01\x2b\x04\x0e\x00\x2a\x05\x37"
+            "\x07\x0d\x00\xff\x01\x28\x08\x0d\x00\x27\x09\x33\x02"
+            "\x01\x08\x31\x03\x01\x08\x31\x02\x02\x08\x30\x02\x04"
+            "\x07\x2f\x02\x05\x08\x2d\x03\x05\x08\x2d\x02\x06\x08"
+            "\x2c\x02\x08\x07\x2b\x02\x09\x08\x29\x03\x09\x08\x29"
+            "\x02\x0a\x08\x28\x02\x0c\x07\x27\x02\x0d\x08\x25\x03"
+            "\x0d\x08\x25\x02\x0e\x08\x24\x02\x10\x07\x23\x02\x11"
+            "\x08\x21\x03\x11\x08\x21\x02\x12\x08\x20\x02\x14\x07"
+            "\x1f\x02\x15\x08\x1d\x03\x15\x08\x1d\x02\x16\x08\x1c"
+            "\x02\x18\x07\x1b\x02\x19\x08\x19\x03\x19\x08\x19\x02"
+            "\x1a\x08\x18\x02\x1c\x07\x17\x02\x1d\x08\x15\x03\x1d"
+            "\x08\x15\x02\x1e\x08\x14\x02\x20\x07\x13\x02\x21\x08"
+            "\x11\x03\x21\x08\x11\x02\x22\x08\x10\x02\x24\x07\x0f"
+            "\x02\x25\x08\x0d\x03\x25\x08\x0d\x02\x26\x08\x0c\x02"
+            "\x28\x07\x0b\x02\x29\x08\x09\x03\x29\x08\x09\x02\x2a"
+            "\x08\x08\x02\x2c\x07\x07\x02\x2d\x08\x05\x03\x2d\x08"
+            "\x05\x38\x04\x39\x03\x3b\xff\x01\x01\x3c\x00\x3d" }  },
+      /* --- pixel bitmap for cmmi600 char#2 \Theta --- */
+      {   2,66558,                      /* character number, location */
+         59, 4,   -2, 4,      /* topleft row,col, and botleft row,col */
+          { 57,   61, 3,477, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\x3a\xe0\xe0\xe0\x1e\x03\xe0\xe0\xa7\x77\xe0"
+            "\xe0\x66\xd6\xe0\xe0\x26\xe0\x26\xe0\xd6\xe0\x66\xe0"
+            "\xa6\xe0\x86\xe0\x76\xe0\xa6\xe0\x66\xe0\xc6\xe0\x46"
+            "\xe0\xe6\xe0\x26\xe0\xe0\x16\xe0\x16\xe0\xe0\x27\xd7"
+            "\xe0\xe0\x36\xc7\xe0\xe0\x47\xa7\xe0\xe0\x57\x97\xe0"
+            "\xe0\x67\x97\xe0\xe0\x68\x77\xe0\xe0\x87\x68\xe0\xe0"
+            "\x87\x67\xe0\xe0\x97\x58\xe0\xe0\x97\x57\xe0\xe0\xa7"
+            "\x48\xe0\xe0\xa7\x47\xe0\xe0\xa8\x38\xe0\xe0\xa8\x38"
+            "\x52\xe0\x92\x68\x28\x62\xe0\x92\x68\xf1\x28\x6e\x0d"
+            "\x68\x18\x6e\x0e\x58\x10\xf2\x18\x6e\x0d\x68\x18\x6e"
+            "\x0e\x58\x2f\x18\x62\xe0\x92\x68\x2f\x18\xe0\xe0\xa8"
+            "\x38\xe0\xe0\xa7\x48\xe0\xe0\x98\x48\xe0\xe0\x97\x58"
+            "\xe0\xe0\x88\x58\xe0\xe0\x87\x68\xe0\xe0\x77\x87\xe0"
+            "\xe0\x77\x87\xe0\xe0\x67\x97\xe0\xe0\x57\xa7\xe0\xe0"
+            "\x56\xc6\xe0\xe0\x46\xd7\xe0\xe0\x26\xe0\x16\xe0\xe0"
+            "\x16\xe0\x27\xe0\xd6\xe0\x46\xe0\xc6\xe0\x66\xe0\xa6"
+            "\xe0\x86\xe0\x86\xe0\xa6\xe0\x56\xe0\xd6\xe0\x36\xe0"
+            "\xe0\x16\xd7\xe0\xe0\x57\x78\xe0\xe0\x9e\x03\xe0\xe0"
+            "\xe0\x1a\xe0\xe0\x30" }  },
+      /* --- pixel bitmap for cmmi600 char#3 \Lambda --- */
+      {   3,67752,                      /* character number, location */
+         60, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 53,   60, 3,384, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\xc2\xb0\xf1\xe0\xe0\xb3\xb0\xe0\xe0\xa4\xb0"
+            "\xf1\xe0\xe0\x95\xb0\xf1\xe0\xe0\x87\xa0\xe0\xe0\x78"
+            "\xa0\xf1\xe0\xe0\x69\xa0\xf1\xe0\xe0\x52\x17\xa0\xf1"
+            "\xe0\xe0\x42\x27\xa0\xe0\xe0\x32\x37\xe0\xe0\xc3\x37"
+            "\xe0\xe0\xc2\x47\xe0\xe0\xb2\x57\xe0\xe0\xb2\x58\x90"
+            "\xf1\xe0\xe2\x68\x90\xe0\xd2\x78\xe0\xe0\x73\x78\xe0"
+            "\xe0\x72\x97\x90\xf1\xe0\xb2\xa7\x90\xf1\xe0\xa2\xb7"
+            "\x90\xe0\x92\xc7\x90\xf1\xe0\x82\xd7\x90\xf1\xe0\x72"
+            "\xe8\x80\xe0\x62\xe0\x18\xe0\xd3\xe0\x18\xe0\xd2\xe0"
+            "\x28\x80\xf1\xe0\x42\xe0\x47\x80\xf1\xe0\x32\xe0\x57"
+            "\x80\xe0\x22\xe0\x67\xe0\x93\xe0\x67\xe0\x92\xe0\x77"
+            "\xe0\x82\xe0\x87\xe0\x82\xe0\x88\x70\xf1\xd2\xe0\x98"
+            "\x70\xc2\xe0\xa8\xe0\x43\xe0\xa8\xe0\x42\xe0\xc7\xe0"
+            "\x32\xe0\xd7\x70\xf1\x93\xe0\xd7\x70\x83\xe0\xe7\xe5"
+            "\xe0\xc8\xc8\xe0\xaa\x6f\x2e\x03\xee\x08" }  },
+      /* --- pixel bitmap for cmmi600 char#4 \Xi --- */
+      {   4,69369,                      /* character number, location */
+         57, 4,    0, 4,      /* topleft row,col, and botleft row,col */
+          { 60,   57, 2,149, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xff\x01\x0f\x2d\xff\x02\x0e\x2e\x0d\x2e\x0e\x03\x29"
+            "\x02\x0e\x02\x2a\x02\x0d\x03\x2a\x02\x0d\x02\x2b\x02"
+            "\x0d\x02\x2a\x03\x0c\x03\x2a\x02\x0d\x02\x2b\x02\x02"
+            "\x00\xff\x06\x3c\x00\xff\x01\x10\x02\x1d\x02\x0b\x00"
+            "\x0f\x03\x1c\x03\x1a\x03\x1c\x02\x0c\x00\xff\x01\x0f"
+            "\x21\x0c\x00\xff\x01\x0e\x22\x0c\x00\xff\x01\x0e\x21"
+            "\x0d\x00\x0d\x03\x1c\x03\x1a\x03\x1c\x02\x0e\x00\xff"
+            "\x01\x0d\x02\x1d\x02\x0e\x00\xff\x08\x3c\x00\xff\x02"
+            "\x02\x02\x2d\x02\x09\x00\x02\x02\x2c\x03\x0b\x02\x2c"
+            "\x02\x0a\x00\xff\x01\x01\x03\x2b\x03\x0a\x00\x01\x03"
+            "\x2a\x03\x0b\x00\xff\x01\x01\x30\x0b\x00\x01\x2f\x0c"
+            "\xff\x01\x30\x0c\x2f\x0d" }  },
+      /* --- pixel bitmap for cmmi600 char#5 \Pi --- */
+      {   5,70736,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 71,   57, 3,453, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xde\x0e\x0e\x0e\x02\xde\x0e\x0e\x0e\x01\xe0\x88"
+            "\xe0\xb8\x90\xf1\xe0\x77\xe0\xc7\xa0\xe0\x68\xe0\xb8"
+            "\xe0\xe0\x28\xe0\xb7\xb0\xf1\xe0\x67\xe0\xc7\xb0\xe0"
+            "\x58\xe0\xb8\xe0\xe0\x28\xe0\xb7\xc0\xf1\xe0\x57\xe0"
+            "\xc7\xc0\xe0\x48\xe0\xb8\xe0\xe0\x28\xe0\xb7\xd0\xf1"
+            "\xe0\x47\xe0\xc7\xd0\xe0\x38\xe0\xb8\xe0\xe0\x28\xe0"
+            "\xb7\xe0\xf1\xe0\x37\xe0\xc7\xe0\xe0\x28\xe0\xb8\xe0"
+            "\xe0\x28\xe0\xb7\xe0\x10\xf1\xe0\x27\xe0\xc7\xe0\x10"
+            "\xe0\x18\xe0\xb8\xe0\xe0\x28\xe0\xb7\xe0\x20\xf1\xe0"
+            "\x17\xe0\xc7\xe0\x20\xe8\xe0\xb8\xe0\xe0\x28\xe0\xb7"
+            "\xe0\x30\xf1\xe7\xe0\xc7\xe0\x30\xd8\xe0\xb8\xe0\xe0"
+            "\x28\xe0\xb7\xe0\x40\xf1\xd7\xe0\xc7\xe0\x40\xc8\xe0"
+            "\xb8\xe0\xe0\x28\xe0\xb7\xe0\x50\xf1\xc7\xe0\xc7\xe0"
+            "\x50\xb8\xe0\xb8\xe0\xe0\x28\xe0\xb7\xe0\x60\xf1\xb7"
+            "\xe0\xc7\xe0\x60\xa8\xe0\xb8\xe0\xe0\x28\xe0\xb7\xe0"
+            "\x70\xf1\xa7\xe0\xc7\xe0\x70\x98\xe0\xb8\xe0\xe0\x28"
+            "\xe0\xb7\xe0\xe0\x37\xe0\xc7\xe0\xe0\x29\xe0\xa9\xe0"
+            "\x7f\x2e\x0a\x9e\x0a\xe7" }  },
+      /* --- pixel bitmap for cmmi600 char#6 \Sigma --- */
+      {   6,72079,                      /* character number, location */
+         57, 5,    0, 5,      /* topleft row,col, and botleft row,col */
+          { 62,   57, 2,185, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xff\x02\x0e\x30\x0e\x09\x1b\x0c\x0f\x08\x1f\x08\x0f"
+            "\x09\x20\x05\x11\x08\x20\x05\x01\x00\xff\x01\x10\x09"
+            "\x20\x04\x01\x00\x11\x08\x21\x03\x12\x09\x20\x03\x13"
+            "\x08\x20\x03\x13\x09\x1f\x03\x14\x08\x1f\x02\x15\x09"
+            "\x1e\x02\x16\x08\x1e\x02\x02\x00\xff\x01\x14\x09\x1d"
+            "\x02\x02\x00\x15\x08\x1d\x02\x17\x09\x36\x08\x36\x09"
+            "\x36\x08\x36\x09\x36\x08\x1e\x00\xff\x01\x18\x09\x1d"
+            "\x00\x19\x08\x36\x09\x36\x07\x37\x06\x39\x04\x3a\x03"
+            "\x39\x04\x39\x03\x3a\x03\x3a\x03\x3a\x03\x1d\x02\x1b"
+            "\x03\x1d\x03\x1a\x03\x1e\x02\x19\x04\x1f\x02\x18\x03"
+            "\x20\x03\x17\x03\x21\x02\x17\x03\x21\x03\x16\x03\x22"
+            "\x03\x15\x03\x22\x03\x15\x03\x22\x04\x13\x04\x22\x04"
+            "\x13\x03\x23\x05\x12\x03\x23\x06\x11\x03\x23\x06\x11"
+            "\x03\x22\x08\x10\x03\x1e\x0d\x0e\x2f\x0e\x30\x0d\x31"
+            "\x0d\x30\x0e" }  },
+      /* --- pixel bitmap for cmmi600 char#7 \Upsilon --- */
+      {   7,73269,                      /* character number, location */
+         59, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 56,   59, 3,385, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xb7\xe0\xc7\xeb\xe0\x8b\xae\x01\xe0\x4e\x8e\x03\xe0"
+            "\x1e\x03\x6e\x04\xee\x04\x5e\x06\xce\x05\x55\x78\xb8"
+            "\x76\x34\xb7\x97\xb4\x24\xd6\x86\xe3\x23\xe0\x15\x76"
+            "\xe0\x13\x13\xe0\x26\x65\xe0\x23\x12\xe0\x45\x55\xe0"
+            "\x42\x12\xe0\x45\x45\xe0\x54\xe0\x55\x44\xe0\x52\xe0"
+            "\x85\x35\xe0\xe0\xe0\x24\x34\xe0\xe0\xe0\x34\x25\xe0"
+            "\xe0\xe0\x34\x24\xe0\xa0\xf1\xe0\x84\x14\xe0\xb0\xe0"
+            "\x89\xe0\xb0\xf1\xe0\x88\xe0\xc0\xf2\xe0\x78\xe0\xd0"
+            "\xf2\xe0\x77\xe0\xe0\xf2\xe0\x67\xe0\xe0\x10\xf1\xe0"
+            "\x58\xe0\xe0\x10\xf1\xe0\x57\xe0\xe0\x20\xf1\xe0\x48"
+            "\xe0\xe0\x20\xf1\xe0\x47\xe0\xe0\x30\xf1\xe0\x38\xe0"
+            "\xe0\x30\xf1\xe0\x37\xe0\xe0\x40\xf1\xe0\x28\xe0\xe0"
+            "\x40\xf1\xe0\x27\xe0\xe0\x50\xf1\xe0\x18\xe0\xe0\x50"
+            "\xf1\xe0\x17\xe0\xe0\x60\xf1\xe8\xe0\xe0\x60\xe7\xe0"
+            "\xe0\xe0\x5a\xe0\xe0\x60\xf2\x3e\x0e\xe0\xb0" }  },
+      /* --- pixel bitmap for cmmi600 char#8 \Phi --- */
+      {   8,74463,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 50,   57, 3,337, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xe0\x4e\x0e\x01\x30\xe0\x4e\x0e\xe0\xe0\x3a\xe0"
+            "\xe0\xd8\xe0\xe0\xe7\xe0\x10\xf1\xe0\xd8\xe0\x10\xf1"
+            "\xe0\xd7\xe0\x20\xf1\xe0\xc8\xe0\x20\xe0\x9c\xe0\xe0"
+            "\x5e\x07\xe0\xc8\x28\x18\xe0\x77\x58\x47\xe0\x36\x87"
+            "\x76\xe7\x97\x87\xb6\xa8\x97\x87\xb8\xa6\x77\xc7\xb7"
+            "\x57\xd7\xb8\x38\xc8\xc7\x37\xd8\xc7\x28\xd7\xd7\x18"
+            "\xe7\xd7\x18\xd8\xde\x01\xe8\xc8\x0f\x18\xe7\xd8\x08"
+            "\xd8\xd7\x18\xd8\xc8\x18\xd7\xd7\x28\xd7\xc8\x28\xc8"
+            "\xc7\x47\xc8\xb7\x57\xc7\xb7\x76\xc7\xa7\x96\xa8\x97"
+            "\xb6\x98\x86\xe6\x87\x76\xe0\x37\x67\x56\xe0\x78\x28"
+            "\x18\xe0\xce\x07\xe0\xe0\x5c\xe0\xe0\xd7\xe0\xb0\xf1"
+            "\xe0\x38\xe0\xb0\xf1\xe0\x37\xe0\xc0\xf1\xe0\x28\xe0"
+            "\xc0\xe0\x27\xe0\xe0\xe9\xe0\xc0\xf2\x5e\x0e\xe0\x30" }  },
+      /* --- pixel bitmap for cmmi600 char#9 \Psi --- */
+      {   9,75718,                      /* character number, location */
+         57, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 55,   57, 3,365, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xe0\x2e\x0e\x01\xa0\xe0\x2e\x0e\xe0\xe0\x8a\xe0"
+            "\xe0\xe0\x48\xe0\xe0\xe0\x57\xe0\x80\xf1\xe0\xb8\xe0"
+            "\x80\xf1\xe0\xb7\xe0\x90\xe0\xa8\xe0\x98\xe0\x28\xe0"
+            "\x1e\x04\xe7\xea\x37\xe7\xd8\x67\xd8\xd7\x78\xc8\xc8"
+            "\x87\xc7\xc8\x88\xc7\xc7\x97\xc8\xc7\x97\xc8\xb8\x60"
+            "\xf1\x37\xc7\xc7\x70\x37\xb8\xb8\x98\xb8\xb7\x80\xf1"
+            "\x27\xc7\xc7\x80\x27\xb8\xb8\xa7\xb8\xb7\xb7\xb7\xc7"
+            "\xb6\xc7\xb7\xc6\xb8\xb7\xc6\xb8\xa7\xd6\xb7\xb7\xd7"
+            "\xa7\xa7\xc0\xf1\x27\x98\x97\xd0\x36\x97\x97\xe0\x37"
+            "\x87\x87\xe0\x56\x78\x77\xe0\x76\x68\x66\xe0\xa6\x57"
+            "\x57\xe0\xc6\x47\x37\xe0\xe0\x2e\x09\xe0\xe0\x6e\x04"
+            "\xe0\xe0\xcb\xe0\xe0\xe0\x47\xe0\xe0\x40\xf1\xe0\x18"
+            "\xe0\xe0\x40\xf1\xe0\x17\xe0\xe0\x50\xf1\xe8\xe0\xe0"
+            "\x50\xe7\xe0\xe0\xe0\x4a\xe0\xe0\x50\xf2\x3e\x0e\xe0"
+            "\xa0" }  },
+      /* --- pixel bitmap for cmmi600 char#10 \Omega --- */
+      {  10,77109,                      /* character number, location */
+         59, 7,    0, 7,      /* topleft row,col, and botleft row,col */
+          { 58,   59, 3,475, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\x4b\xe0\xe0\xe0\x1e\x04\xe0\xe0\x98\x97\xe0"
+            "\xe0\x47\xe6\xe0\xe0\x17\xe0\x46\xe0\xb7\xe0\x76\xe0"
+            "\x97\xe0\x96\xe0\x77\xe0\xa7\xe0\x48\xe0\xc7\xe0\x28"
+            "\xe0\xd7\xe0\x18\xe0\xe0\x17\xd8\xe0\xe0\x27\xd7\xe0"
+            "\xe0\x37\xc8\xe0\xe0\x38\xf1\xa8\xe0\xe0\x48\xf1\x98"
+            "\xe0\xe0\x58\xf1\x88\xe0\xe0\x68\x88\xe0\xe0\x59\x79"
+            "\xe0\xe0\x59\xf1\x78\xe0\xe0\x68\x10\x78\xe0\xe0\x59"
+            "\x88\xe0\xe0\x58\x98\xe0\xe0\x49\x98\xe0\xe0\x48\x30"
+            "\xf1\x78\xe0\xe0\x38\x40\x78\xe0\xe0\x28\xd7\xe0\xe0"
+            "\x27\xe7\xe0\xe0\x18\xe7\xe0\xe0\x17\xe0\x17\xe0\xe7"
+            "\xe0\x36\xe0\xe6\xe0\x46\xe0\xd6\xe0\x56\xe0\xc7\xe0"
+            "\x65\xe0\xc6\xe0\x75\xe0\xb6\xe0\x95\xe0\x96\xe0\xa5"
+            "\xe0\x95\xe0\xb5\xe0\x85\xe0\xd4\xe0\x84\xe0\xe4\xe0"
+            "\x74\xe0\xe0\x14\xe0\x65\xe0\x32\xb3\xe0\x64\xa2\x62"
+            "\xb3\xe0\x54\xa3\x62\xb3\xe0\x53\xb2\x72\xb3\xe0\x44"
+            "\xa3\x72\xc2\xe0\x43\xb2\x82\xc2\xe0\x33\xb3\x82\xc2"
+            "\xe0\x33\xb2\x93\xb2\xe0\x32\xb3\x9f\x1e\x02\xe0\x2e"
+            "\x02\xae\x02\xe0\x2e\x01\xbe\x01\xe0\x2e\x02\xbe\x01"
+            "\xe0\x2e\x01\xce" }  },
+      /* --- pixel bitmap for cmmi600 char#11 \alpha --- */
+      {  11,78371,                      /* character number, location */
+         37, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 47,   38, 3,263, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x58\xe0\xe0\x8d\xe0\xe0\x46\x65\xe0\xe5\xa5\xe0"
+            "\xb6\xc5\xc2\x96\xe5\xb2\x86\xe0\x16\x93\x76\xe0\x35"
+            "\x92\x76\xe0\x46\x82\x66\xe0\x56\x73\x57\xe0\x56\x72"
+            "\x66\xe0\x76\x62\x57\xe0\x76\x53\x47\xe0\x86\x52\x57"
+            "\xe0\x86\x43\x48\xe0\x86\x42\x57\xe0\x96\x33\x57\xe0"
+            "\x96\x32\x67\xe0\x96\x23\x58\xe0\x96\x22\x67\xe0\xa6"
+            "\x13\x67\xe0\xa9\x7f\x17\xe0\xa8\x87\xe0\xa7\x9f\x26"
+            "\xe0\xb6\xa0\x15\xe0\xb6\xb6\xe0\x97\xb6\xe0\x88\xc5"
+            "\xe0\x64\x15\x72\x36\xe0\x43\x36\x62\x46\xe0\x14\x46"
+            "\x53\x55\xd4\x75\x52\x85\x85\xa5\x24\xae\xd8\xe9\xe0"
+            "\x45\x56" }  },
+      /* --- pixel bitmap for cmmi600 char#12 \beta --- */
+      {  12,79572,                      /* character number, location */
+         59, 2,  -16, 2,      /* topleft row,col, and botleft row,col */
+          { 46,   75, 3,487, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\x27\xe0\xe0\x8d\xe0\xe0\x44\x65\xe0\xe0\x14"
+            "\xa5\xe0\xc3\xd5\xe0\xa3\xe0\x14\xe0\x93\xe0\x25\xe0"
+            "\x73\xe0\x35\xe0\x63\xe0\x54\xe0\x62\xe0\x65\xe0\x43"
+            "\xe0\x65\xe0\x33\xe0\x66\xe0\x32\xe0\x76\xe0\x23\xe0"
+            "\x75\xe0\x32\xe0\x85\xe0\x23\xe0\x76\xe0\x22\xe0\x86"
+            "\xe0\x22\xe0\x85\xe0\x23\xe0\x76\xe0\x22\xe0\x85\xe0"
+            "\x32\xe0\x75\xe0\x33\xe0\x65\xe0\x42\xe0\x65\xe0\x52"
+            "\x79\x35\xe0\x53\x6e\x03\xe0\x62\x63\x76\xe0\x82\x6e"
+            "\x03\xe0\x72\x89\x25\xe0\x53\xe0\x65\x70\xf1\xb2\xe0"
+            "\x85\x60\xb2\xe0\x86\xe0\x13\xe0\x95\x50\xf2\xa2\xe0"
+            "\xa5\x50\x93\xe0\xa6\x40\xf2\x92\xe0\xb6\x40\x83\xe0"
+            "\xa7\x40\xf2\x82\xe0\xb6\x50\x73\xe0\xa7\xc3\xe0\xa6"
+            "\xd2\xe0\xb6\xd2\xe0\xa7\xc3\xe0\xa6\x70\xf1\x64\xe0"
+            "\x86\x80\x64\xe0\x76\xe5\xe0\x66\xe0\x12\x13\xe0\x46"
+            "\xe0\x22\x23\xe0\x26\xe0\x32\x32\xe0\x15\xe0\x43\x34"
+            "\xb6\xe0\x52\x63\x77\xe0\x72\x7e\xe0\x92\x98\xe0\xc3"
+            "\xe0\xe0\xc0\xf2\x32\xe0\xe0\xd0\x23\xe0\xe0\xd0\xf2"
+            "\x22\xe0\xe0\xe0\x13\xe0\xe0\xe0\xf2\x12\xe0\xe0\xe0"
+            "\x13\xe0\xe0\xe0\x1f\x12\xe0\xe0\xe0\x2e" }  },
+      /* --- pixel bitmap for cmmi600 char#13 \gamma --- */
+      {  13,80727,                      /* character number, location */
+         37, 1,  -18, 1,      /* topleft row,col, and botleft row,col */
+          { 44,   55, 3,289, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xd7\xe0\xe0\x7b\xe0\x62\x9e\x01\xe0\x33\x8e\x03\xe0"
+            "\x22\x8e\x05\xe3\x7e\x06\xe2\x78\x68\xc3\x65\xd5\xc2"
+            "\x65\xe0\x15\xb2\x63\xe0\x44\xa3\x53\xe0\x64\x92\x63"
+            "\xe0\x73\x83\x53\xe0\x92\x82\x62\xe0\xa3\x63\x62\xe0"
+            "\xa3\x62\x63\xe0\xb2\x62\xe0\xe0\x62\x53\xe0\xe0\x63"
+            "\x42\xe0\xe0\x82\x33\x70\xf1\xe0\xe0\x12\x32\x80\xe0"
+            "\xe0\x12\x23\xe0\xe0\x92\x22\xe0\xe0\xa2\x13\x90\xf1"
+            "\xe0\xe0\x12\x12\xa0\xe0\xe0\x15\xa0\xf2\xe0\xe0\x14"
+            "\xb0\xf2\xe0\xe0\x13\xc0\xf1\xe0\xe0\x12\xd0\xf2\xe0"
+            "\xe3\xd0\xe0\xe2\xe0\xf3\xe0\xd3\xe0\xf3\xe0\xc3\xe0"
+            "\x10\xf3\xe0\xb3\xe0\x20\xf2\xe0\xa3\xe0\x30\xe0\xa2"
+            "\xe0\x40" }  },
+      /* --- pixel bitmap for cmmi600 char#14 \delta --- */
+      {  14,81816,                      /* character number, location */
+         59, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 35,   60, 3,287, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x5b\xe0\x8e\x03\xe0\x33\x4c\xe0\x13\x89\xe0\x12"
+            "\xa8\xe3\xc5\x10\xf2\xe3\xe0\x40\xf1\xe4\xe0\x30\xf1"
+            "\xe5\xe0\x20\xe0\x15\xe0\x10\xf1\xe0\x16\xe0\xe0\x26"
+            "\xe0\xe0\x17\xc0\xf1\xe0\x37\xb0\xe0\x47\xe0\xe8\xe0"
+            "\xe8\xe0\xab\xe0\x85\x18\xe0\x55\x38\xe0\x36\x58\xe0"
+            "\x15\x78\xe5\x97\xd5\xa8\xb5\xc7\xa6\xc7\x50\xf1\x46"
+            "\xd7\x50\x36\xe0\x16\x77\xe0\x16\x76\xe0\x26\x67\xe0"
+            "\x26\x50\xf1\x16\xe0\x36\x57\xe0\x36\x57\xe0\x35\x6f"
+            "\x26\xe0\x36\x6f\x16\xe0\x35\x76\xe0\x26\x7f\x16\xe0"
+            "\x25\x86\xe0\x15\xa5\xe0\x15\xa5\xe5\xc5\xd5\xc5\xc5"
+            "\xe5\xa5\xe0\x25\x85\xe0\x55\x55\xe0\x7c\xe0\xc7\xe0"
+            "\x40" }  },
+      /* --- pixel bitmap for cmmi600 char#15 \epsilon --- */
+      {  15,82850,                      /* character number, location */
+         36, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 29,   37, 3,133, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x4a\xe0\x2e\xde\x01\xc8\xe0\x57\xe0\x77\xe0\x76"
+            "\xe0\x86\xe0\x87\xe0\x77\xe0\x40\xf1\x37\xe0\x50\xf1"
+            "\x27\xe0\x60\x1e\x09\x50\xf1\x1e\x0a\x40\x17\xe0\x78"
+            "\xe0\x7f\x47\xe0\x80\xf3\x16\xe0\x80\xf1\x26\xe0\x70"
+            "\x35\xe0\xb5\xe0\xb5\xe0\x12\x85\xc4\x96\x75\xde\xe0"
+            "\x48\x98" }  },
+      /* --- pixel bitmap for cmmi600 char#16 \zeta --- */
+      {  16,83814,                      /* character number, location */
+         58, 4,  -17, 4,      /* topleft row,col, and botleft row,col */
+          { 36,   75, 3,335, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf5\xe0\x72\xd0\xe0\x73\x1a\xe0\x9e\xe0\x74\x92\xe0"
+            "\x5e\x03\xe0\x44\x39\xe0\x54\xe0\xe0\x33\xe0\xe0\x43"
+            "\xe0\xe0\x43\xe0\xe0\x43\xe0\xe0\x44\xe0\xe0\x34\xe0"
+            "\xe0\x34\xe0\xe0\x34\xe0\xe0\x43\xe0\xe0\x44\xe0\xa0"
+            "\xf1\x74\xe0\xb0\x64\xe0\xc0\xf1\x54\xe0\xd0\x45\xe0"
+            "\xd0\xf1\x44\xe0\xe0\xf1\x34\xe0\xe0\x10\x25\xe0\xe0"
+            "\x10\xf2\x24\xe0\xe0\x20\x15\xe0\xe0\x20\xf3\x14\xe0"
+            "\xe0\x3f\x45\xe0\xe0\x36\xe0\xe0\x35\xe0\xe0\x20\xf1"
+            "\x16\xe0\xe0\x10\x17\xe0\xe0\x27\xe0\xe0\x18\xe0\xe0"
+            "\x19\xe0\xdc\xe0\xbe\xe0\x9e\x02\xe0\x8e\x03\xe0\x7e"
+            "\x03\xe0\x7e\x02\xe0\x9e\xe0\xbb\xe0\xe8\xe0\xe0\x27"
+            "\x70\xf1\xe0\x96\x70\xe0\xa5\x70\xf2\xe0\xa4\x80\xb2"
+            "\xa4\xe0\x64\x74\xe0\x93\x54\xe0\xba\xe0\xe6\xe4" }  },
+      /* --- pixel bitmap for cmmi600 char#17 \eta --- */
+      {  17,84849,                      /* character number, location */
+         37, 2,  -18, 2,      /* topleft row,col, and botleft row,col */
+          { 39,   55, 3,301, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x75\xe7\xb9\xac\x73\x35\x74\x65\x53\x55\x44\x95\x42"
+            "\x65\x33\xb6\x23\x66\x13\xc6\x22\x79\xe5\x13\x78\xe0"
+            "\x15\xf1\x12\x87\xe0\x25\x12\x86\xe0\x29\x77\xe0\x26"
+            "\x0f\x12\x86\xe0\x36\xa6\xe0\x27\x97\xe0\x27\xf1\x96"
+            "\xe0\x36\x10\x96\xe0\x27\x97\xe0\x27\x10\xf1\x86\xe0"
+            "\x36\x20\x86\xe0\x27\x97\xe0\x27\x20\xf1\x76\xe0\x36"
+            "\x30\x76\xe0\x27\x97\xe0\x27\x30\xf1\x66\xe0\x36\x40"
+            "\x66\xe0\x27\x97\xe0\x27\x40\xf1\x56\xe0\x36\x50\x56"
+            "\xe0\x27\x97\xe0\x27\x96\xe0\x36\xc3\xe0\x46\x60\xf1"
+            "\xe0\xc7\x60\xf1\xe0\xc6\x70\xf1\xe0\xb7\x70\xf1\xe0"
+            "\xb6\x80\xf1\xe0\xa7\x80\xf1\xe0\xa6\x90\xf1\xe0\x97"
+            "\x90\xf1\xe0\x96\xa0\xe0\xa3\xc0" }  },
+      /* --- pixel bitmap for cmmi600 char#18 \theta --- */
+      {  18,85773,                      /* character number, location */
+         59, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 35,   60, 3,289, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x85\xe0\xda\xe0\x95\x45\xe0\x65\x64\xe0\x55\x84"
+            "\xe0\x35\x95\xe0\x15\xa5\xe5\xc5\xc6\xc5\xb6\xd5\xb5"
+            "\xe5\xa6\xe6\xf1\x86\xe0\x16\xf1\x76\xe0\x26\x67\xe0"
+            "\x26\x66\xe0\x36\x57\xe0\x36\x56\xe0\x37\xf1\x47\xe0"
+            "\x37\xf1\x37\xe0\x47\x37\xe0\x37\x38\xe0\x37\x10\xf1"
+            "\x27\xe0\x47\x10\x2e\x0e\x04\x10\xf2\x1e\x0e\x04\x20"
+            "\x17\xe0\x38\x28\xe0\x37\x3f\x17\xe0\x47\x3f\x17\xe0"
+            "\x37\x46\xe0\x47\x4f\x16\xe0\x37\x56\xe0\x36\x66\xe0"
+            "\x27\x6f\x16\xe0\x26\x7f\x15\xe0\x26\x8f\x15\xe0\x16"
+            "\x95\xe6\xa6\xc6\xc5\xc5\xd5\xb6\xd5\xa6\xe0\x14\xa5"
+            "\xe0\x25\x85\xe0\x44\x74\xe0\x74\x45\xe0\x9a\xe0\xd6"
+            "\xe0\x81" }  },
+      /* --- pixel bitmap for cmmi600 char#19 \iota --- */
+      {  19,86610,                      /* character number, location */
+         37, 5,   -1, 5,      /* topleft row,col, and botleft row,col */
+          { 22,   38, 3,119, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x93\xe0\x46\x80\xf1\x77\x80\xf1\x76\x90\x67\x90\xf2"
+            "\x66\xa0\x57\xa0\xf2\x56\xb0\x47\xb0\xf1\x46\xc0\x37"
+            "\xc0\xf2\x36\xd0\x27\xd0\xf1\x26\xe0\x17\xc2\x16\xd9"
+            "\xc9\xd2\x16\xc3\x16\xc2\x25\xc3\x25\xb3\x35\xa3\x45"
+            "\x93\x55\x74\x74\x54\xab\xd6\xc7" }  },
+      /* --- pixel bitmap for cmmi600 char#20 \kappa --- */
+      {  20,87616,                      /* character number, location */
+         37, 4,   -1, 4,      /* topleft row,col, and botleft row,col */
+          { 42,   38, 3,241, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xa3\xe0\xe0\xa6\xe0\x45\xc7\xe0\x19\xb7\xea\xb6\xd4"
+            "\x17\xb6\xb4\x37\xa7\xa3\x56\xb7\x93\x74\xc6\x93\xe0"
+            "\xa6\x74\xe0\xa7\x63\xe0\xc7\x53\xe0\xd6\x53\xe0\xe6"
+            "\x34\xe0\xe7\x23\xe0\xe0\x2b\xe0\xe0\x3e\x01\xe0\xde"
+            "\x05\xe0\x87\x5b\xe0\x57\x98\xe0\x46\xc7\xe0\x36\xd7"
+            "\xc0\xf1\x37\xe7\xb0\xf1\x36\xe0\x26\x92\x27\xe0\x26"
+            "\x83\x27\xe0\x17\x82\x36\xe0\x26\x92\x36\xe0\x26\x83"
+            "\x10\xf1\x17\xe0\x26\x82\x20\x16\xe0\x45\x73\x36\xe0"
+            "\x45\x63\x37\xe0\x45\x62\x47\xe0\x55\x43\x46\xe0\x89"
+            "\x73\xe0\xb5\x76" }  },
+      /* --- pixel bitmap for cmmi600 char#21 \lambda --- */
+      {  21,88605,                      /* character number, location */
+         58, 4,   -1, 4,      /* topleft row,col, and botleft row,col */
+          { 41,   59, 3,276, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xa6\xe0\xe0\x78\xe0\xe0\x87\xe0\xe0\x77\xe0\x60\xf2"
+            "\xe0\x17\xe0\x50\xf1\xe0\x27\xe0\x40\xf2\xe0\x37\xe0"
+            "\x30\xf2\xe0\x47\xe0\x20\xf2\xe0\x57\xe0\x10\xf2\xe0"
+            "\x67\xe0\xf1\xe0\x77\xd0\xf2\xe0\x87\xc0\xf2\xe0\x97"
+            "\xb0\xf2\xe0\xa7\xa0\xe0\x99\xe0\xe0\x3a\xe0\xe0\x2b"
+            "\xe0\xe0\x14\x27\xe0\xd4\x37\xe0\xc4\x48\xe0\xa5\x57"
+            "\xe0\x95\x67\xe0\x85\x87\xe0\x65\x97\xe0\x55\xa7\xe0"
+            "\x45\xc7\xe0\x26\xc7\xe0\x16\xd7\xe6\xe0\x17\xc6\xe0"
+            "\x27\xb6\xe0\x37\xa6\xe0\x57\x87\xe0\x57\x77\xe0\x68"
+            "\x57\xe0\x87\x47\xe0\x97\x37\xe0\xb7\x17\xe0\xc7\x17"
+            "\xe0\xce\xe0\xe7\x14\xe0\xe0\x26" }  },
+      /* --- pixel bitmap for cmmi600 char#22 \mu --- */
+      {  22,89761,                      /* character number, location */
+         37, 2,  -18, 2,      /* topleft row,col, and botleft row,col */
+          { 46,   55, 3,313, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe3\xe0\xe0\xe6\xe0\x43\xe0\x47\xe0\x35\xe0\x37\xe0"
+            "\x26\x50\xf1\xc6\xe0\x36\x50\xf1\xb7\xe0\x27\x50\xf1"
+            "\xb6\xe0\x36\x60\xf1\xa7\xe0\x27\x60\xf1\xa6\xe0\x36"
+            "\x70\xf1\x97\xe0\x27\x70\xf1\x96\xe0\x36\x80\xf1\x87"
+            "\xe0\x27\x80\xf1\x86\xe0\x36\x90\xf1\x77\xe0\x27\x90"
+            "\xf1\x76\xe0\x36\x82\x67\xe0\x27\x73\x67\xe0\x27\x72"
+            "\x77\xe0\x26\x82\x77\xe0\x17\x82\x68\xe0\x17\x73\x68"
+            "\xe8\x72\x78\xd9\x63\x79\xb3\x25\x62\x7b\x93\x35\x53"
+            "\x7c\x64\x55\x33\x86\x2c\x89\x96\x48\xc5\x70\xf1\x37"
+            "\xe0\xe0\x80\xf1\x36\xe0\xe0\x90\xf1\x27\xe0\xe0\x90"
+            "\xf1\x26\xe0\xe0\xa0\xf1\x17\xe0\xe0\xa0\xf1\x16\xe0"
+            "\xe0\xbf\x17\xe0\xe0\xbf\x16\xe0\xe0\xc0\x13\xe0\xe0"
+            "\xe4" }  },
+      /* --- pixel bitmap for cmmi600 char#23 \nu --- */
+      {  23,90716,                      /* character number, location */
+         37, 4,    0, 4,      /* topleft row,col, and botleft row,col */
+          { 40,   37, 3,213, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x87\xe0\x63\x4d\xe0\x56\xf1\x2d\xe0\x47\x77\xe0\x56"
+            "\x96\xe0\x56\x87\xe0\x47\x87\xe0\x46\x96\xe0\x56\x96"
+            "\xe0\x46\x97\xe0\x46\x97\xe0\x37\x96\xe0\x46\xa6\xe0"
+            "\x36\xa7\xe0\x36\xa7\xe0\x26\xb6\xe0\x36\xb6\xe0\x26"
+            "\xb7\xe0\x16\xc7\xe6\xd6\xe0\x16\xd6\xe6\xd7\xd6\xe7"
+            "\xc6\xe0\x16\xc6\xe0\x26\xb6\xe0\x27\xa6\xe0\x37\x95"
+            "\xe0\x56\x95\xe0\x66\x85\xe0\x67\x65\xe0\x87\x45\xe0"
+            "\xa6\x44\xe0\xc6\x15\xe0\xdb\xe0\xe0\x19\xe0\xe0\x35"
+            "\xe0\xe0\x75" }  },
+      /* --- pixel bitmap for cmmi600 char#24 \xi --- */
+      {  24,91940,                      /* character number, location */
+         58, 2,  -17, 2,      /* topleft row,col, and botleft row,col */
+          { 35,   75, 3,327, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf5\xe0\x72\xc0\xe0\x7d\xe0\x7e\x01\xe0\x47\x82\xe0"
+            "\x26\x1c\xe7\x48\xe0\x17\xe0\xd7\xe0\xd7\xe0\xd7\xe0"
+            "\xd8\xe0\xd7\xe0\xd8\xe0\xd7\xe0\x60\xf1\x78\xe0\x60"
+            "\xf4\x77\xe0\x70\x86\xe0\xe0\x17\xe0\xe0\x16\xe0\xe0"
+            "\x26\x2a\xe0\x4e\x05\xe0\x36\x93\xe0\x2e\x04\xe0\x24"
+            "\x3a\xe0\x24\xe0\xe0\x24\xe0\xe0\x24\xe0\xb0\xf1\x54"
+            "\xe0\xc0\x44\xe0\xd0\xf1\x34\xe0\xe0\xf1\x24\xe0\xe0"
+            "\x10\x15\xe0\xe0\x10\xf2\x14\xe0\xe0\x25\xe0\xe0\x2f"
+            "\x16\xe0\xe0\x10\x16\xe0\xe0\x17\xe0\xe8\xe0\xea\xe0"
+            "\xbc\xe0\xae\xe0\x8e\x01\xe0\x8e\x02\xe0\x7e\x03\xe0"
+            "\x6e\x03\xe0\x6e\x02\xe0\x8e\xe0\xac\xe0\xba\xe0\xe7"
+            "\xe0\xe0\x16\x50\xf2\xe0\xb5\x50\xc2\xb4\xe0\x44\x84"
+            "\xe0\x74\x54\xe0\x9b\xe0\xd6\xb0" }  },
+      /* --- pixel bitmap for cmmi600 char#25 \pi --- */
+      {  25,93004,                      /* character number, location */
+         36, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 45,   37, 3,213, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xae\x0e\x06\x9e\x0e\x09\x7e\x0e\x0a\x6e\x0e\x0b\x5e"
+            "\x0e\x0b\x55\x92\x92\xe0\x34\xa3\x92\xe0\x24\xb2\xa2"
+            "\xe0\x23\xc2\x93\xe0\x13\xc3\x93\xe3\xd3\x93\xe2\xe2"
+            "\xa2\xe0\x10\xf2\xe0\x13\x93\xe0\x10\xf1\xe3\xa3\xe0"
+            "\x10\xd4\xa3\xe0\xe4\x94\xe0\xe3\xa4\xe0\x10\xf1\xc4"
+            "\xa4\xe0\x10\xb5\xa4\xe0\xc4\xb4\xe0\x10\xf2\xa5\xb5"
+            "\xe0\x95\xc5\xe0\x95\xc6\xe0\x76\xc6\xe0\x75\xd6\xd0"
+            "\xf1\x76\xd7\xc0\x67\xd7\xc0\xf1\x66\xe0\x16\xc0\x73"
+            "\xe0\x43\xe0" }  },
+      /* --- pixel bitmap for cmmi600 char#26 \rho --- */
+      {  26,93954,                      /* character number, location */
+         37, 2,  -18, 2,      /* topleft row,col, and botleft row,col */
+          { 40,   55, 3,301, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xb7\xe0\xe0\x2c\xe0\xc6\x54\xe0\xa5\x85\xe0\x65"
+            "\xa6\xe0\x45\xc5\xe0\x35\xd6\xe0\x16\xe5\xe6\xe0\x16"
+            "\xd5\xe0\x26\xc6\xe0\x26\xf1\xb6\xe0\x36\xa6\xe0\x46"
+            "\xa6\xe0\x37\x97\xe0\x37\xf1\x96\xe0\x47\x96\xe0\x38"
+            "\x87\xe0\x38\xf1\x86\xe0\x47\x10\x77\xe0\x38\x87\xe0"
+            "\x37\x96\xe0\x47\x96\xe0\x37\x97\xe0\x37\x97\xe0\x27"
+            "\xa6\xe0\x36\xb6\xe0\x27\xa8\xe0\x16\xb8\xe6\xc9\xc6"
+            "\xd6\x12\xb6\xd7\x13\x95\xe0\x17\x24\x55\xe0\x36\x4b"
+            "\xe0\x56\x76\xe0\x30\xf1\x37\xe0\xe0\x20\xf1\x36\xe0"
+            "\xe0\x30\xf1\x27\xe0\xe0\x30\xf1\x26\xe0\xe0\x40\xf1"
+            "\x17\xe0\xe0\x40\xf1\x16\xe0\xe0\x5f\x17\xe0\xe0\x5f"
+            "\x16\xe0\xe0\x60\x13\xe0\xe0\x80" }  },
+      /* --- pixel bitmap for cmmi600 char#27 \sigma --- */
+      {  27,94994,                      /* character number, location */
+         36, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 44,   37, 3,229, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x4e\x0b\xe0\x2e\x0e\x01\xde\x0e\x03\xbe\x0e\x05"
+            "\xae\x0e\x05\x99\x78\xe0\x58\xa7\xe0\x47\xd7\xe0\x27"
+            "\xe0\x16\xe0\x26\xe0\x26\xe0\x16\xe0\x46\xd7\xe0\x46"
+            "\xd6\xe0\x56\xa0\xf1\x26\xe0\x66\xa0\x17\xe0\x66\xb6"
+            "\xe0\x76\xb6\xe0\x67\xa7\xe0\x66\xbf\x16\xe0\x76\xb6"
+            "\xe0\x67\xb6\xe0\x66\xc5\xe0\x76\xcf\x15\xe0\x66\xd5"
+            "\xe0\x56\xe5\xe0\x55\xe0\x15\xe0\x46\xe0\x25\xe0\x26"
+            "\xe0\x35\xe0\x16\xe0\x55\xd6\xe0\x65\xc6\xe0\x85\xa5"
+            "\xe0\xc5\x65\xe0\xe0\x1d\xe0\xe0\x67\xe0\xe1" }  },
+      /* --- pixel bitmap for cmmi600 char#28 \tau --- */
+      {  28,95879,                      /* character number, location */
+         36, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 41,   37, 3,171, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xae\x0e\x02\x9e\x0e\x05\x7e\x0e\x06\x6e\x0e\x07\x5e"
+            "\x0e\x06\x65\xb3\xe0\x74\xd3\xe0\x64\xe3\xe0\x63\xe3"
+            "\xe0\x63\xe0\x13\xe0\x53\xe0\x23\xe0\x52\xe0\x24\xe0"
+            "\xe0\x94\xe0\xe0\x93\xe0\x60\xf3\xe0\x34\xe0\x60\xf2"
+            "\xe0\x24\xe0\x70\xf2\xe0\x15\xe0\x70\xf2\xe5\xe0\x80"
+            "\xf1\xd6\xe0\x80\xd5\xe0\x90\xf2\xc6\xe0\x90\xf1\xb7"
+            "\xe0\x90\xb6\xe0\xe0\x84\xe0\xb0" }  },
+      /* --- pixel bitmap for cmmi600 char#29 \upsilon --- */
+      {  29,96868,                      /* character number, location */
+         37, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 42,   38, 3,257, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x95\xe0\x83\xa9\xe0\x56\x64\x35\xe0\x37\x53\x65\xe0"
+            "\x28\x42\x75\xe0\x28\x33\x75\xe0\x28\x23\x85\xe0\x37"
+            "\x22\x95\xe0\x46\x13\x86\xe0\x55\x12\x96\xe0\x55\x12"
+            "\x96\xe0\x67\x87\xe0\x63\x12\x96\xe0\x73\x12\x87\xe0"
+            "\x73\xb6\xe0\x83\xb6\xe0\x82\xb7\xe0\x82\xb6\xe0\x92"
+            "\xb6\xe0\x83\xa7\xe0\x82\xb6\xe0\x92\xb6\xe0\x83\xb6"
+            "\xe0\x82\xb7\xe0\x73\xb6\xe0\x82\xc6\xe0\x73\xc6\xe0"
+            "\x72\xd6\xe0\x63\xd6\xe0\x53\xe6\xe0\x52\xe0\x16\xe0"
+            "\x43\xe0\x25\xe0\x33\xe0\x36\xe0\x13\xe0\x56\xd3\xe0"
+            "\x75\xb4\xe0\x96\x74\xe0\xdd\xe0\xe0\x48\xe0\x40" }  },
+      /* --- pixel bitmap for cmmi600 char#30 \phi --- */
+      {  30,97890,                      /* character number, location */
+         58, 4,  -17, 4,      /* topleft row,col, and botleft row,col */
+          { 44,   75, 3,395, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\x32\xb0\xf1\xe0\xe0\x23\xb0\xf1\xe0\xe0\x22"
+            "\xc0\xf1\xe0\xe0\x13\xc0\xf1\xe0\xe0\x12\xd0\xf1\xe0"
+            "\xe3\xd0\xf1\xe0\xe2\xe0\xf1\xe0\xd3\xe0\xf1\xe0\xd2"
+            "\xe0\x10\xf1\xe0\xc3\xe0\x10\xf1\xe0\xc2\xe0\x20\xe0"
+            "\x89\xe0\xe0\x3e\x02\xe0\xb7\x32\x36\xe0\x76\x62\x65"
+            "\xe0\x45\x73\x75\xe0\x16\x83\x85\xd5\xa2\xa5\xb5\xb2"
+            "\xb5\x86\xb3\xb6\x75\xc3\xc5\x66\xc2\xd5\x56\xd2\xd6"
+            "\xf1\x36\xd3\xd6\xf1\x26\xe2\xe6\xf1\x16\xe3\xe6\x16"
+            "\xe2\xee\xe2\xe7\x0f\x16\xe3\xe6\x1f\x16\xe2\xe6\x2f"
+            "\x16\xd3\xd6\x36\xd2\xd6\x55\xd2\xc6\x65\xc3\xc5\x76"
+            "\xb3\xb6\x85\xb2\xb5\xb5\xa2\xa5\xd5\x83\x86\xe0\x15"
+            "\x73\x75\xe0\x45\x62\x66\xe0\x76\x32\x37\xe0\xbe\x02"
+            "\xe0\xe0\x39\xe0\x80\xf1\xe0\x22\xe0\xc0\xf1\xe0\x13"
+            "\xe0\xc0\xf1\xe0\x12\xe0\xd0\xf1\xe3\xe0\xd0\xf1\xe2"
+            "\xe0\xe0\xf1\xd3\xe0\xe0\xf1\xd2\xe0\xe0\x10\xf1\xc3"
+            "\xe0\xe0\x12" }  },
+      /* --- pixel bitmap for cmmi600 char#31 \chi --- */
+      {  31,99167,                      /* character number, location */
+         37, 3,  -17, 3,      /* topleft row,col, and botleft row,col */
+          { 46,   54, 3,387, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x67\xe0\xe0\x9b\xe0\xe0\x12\x33\x47\xe0\xd2\x32\x67"
+            "\xe0\xb3\x23\x68\xe0\x93\x32\x87\xe0\x83\xe8\xe0\x63"
+            "\xe0\x27\xe0\x53\xe0\x37\xe0\x43\xe0\x57\xe0\x23\xe0"
+            "\x67\xe0\x13\xe0\x78\xd3\xe0\x97\xd2\xe0\xa7\xc3\xe0"
+            "\xb7\xa3\xe0\xc7\x93\xe0\xd7\x83\xe0\xe0\x17\x63\xe0"
+            "\xe0\x27\x53\xe0\xe0\x37\x43\xe0\xe0\x57\x23\xe0\xe0"
+            "\x67\x13\xe0\xe0\x77\x12\xe0\xe0\x99\xe0\xe0\x98\xe0"
+            "\x50\xf1\xe0\x57\xe0\x60\xf1\xe0\x67\xe0\x50\xe0\x58"
+            "\xe0\xe0\x99\xe0\xe0\x92\x17\xe0\xe0\x73\x17\xe0\xe0"
+            "\x63\x27\xe0\xe0\x53\x47\xe0\xe0\x33\x57\xe0\xe0\x23"
+            "\x67\xe0\xe0\x13\x87\xe0\xd3\x97\xe0\xc3\xa7\xe0\xb3"
+            "\xc7\xe0\xa2\xd7\xe0\x93\xd8\xe0\x73\xe0\x17\xe0\x63"
+            "\xe0\x27\xe0\x53\xe0\x47\xe0\x33\xe0\x57\xe0\x23\xe0"
+            "\x68\xe3\xe0\x87\x82\x33\xe0\x98\x63\x23\xe0\xb7\x62"
+            "\x32\xe0\xd7\x43\x32\xe0\xe0\x1b\xe0\xe0\x97\x61" }  },
+      /* --- pixel bitmap for cmmi600 char#32 \psi --- */
+      {  32,100422,                     /* character number, location */
+         58, 2,  -17, 2,      /* topleft row,col, and botleft row,col */
+          { 51,   75, 3,503, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\xe0\xe0\x82\xd0\xe0\xe0\x73\xd0\xf2\xe0\xe0\x72"
+            "\xe0\xe0\xe0\x63\xe0\xf2\xe0\xe0\x62\xe0\x10\xe0\xe0"
+            "\x53\xe0\x10\xf2\xe0\xe0\x52\xe0\x20\xe0\xe0\x43\xe0"
+            "\x20\xf2\xe0\xe0\x42\xe0\x30\xe0\xe0\x33\xe0\xe0\xe0"
+            "\x62\xe0\xd5\xe0\x32\xc3\xa9\xe0\x12\xb6\x64\x44\xd3"
+            "\xa7\x53\x65\xc2\xb8\x42\x75\xc2\xb8\x33\x75\xc2\xb8"
+            "\x23\x85\xb3\xc7\x22\x95\xb2\xe6\x13\x86\xb2\xe0\x15"
+            "\x12\x96\xb2\xe0\x15\x12\x96\xa3\xe0\x27\x87\xa2\xe0"
+            "\x33\x12\x96\xb2\xe0\x33\x12\x87\xb2\xe0\x33\xb6\xb3"
+            "\xe0\x33\xb6\xb2\xe0\x42\xb7\xb2\xe0\x42\xb6\xc2\xe0"
+            "\x42\xb6\xb3\xe0\x33\xa7\xb2\xe0\x42\xb6\xc2\xe0\x42"
+            "\xb6\xc2\xe0\x33\xb6\xb3\xe0\x23\xb7\xb2\xe0\x32\xc6"
+            "\xc2\xe0\x23\xc6\xc2\xe0\x22\xd6\xb3\xe0\x13\xd6\xb2"
+            "\xe0\x13\xe6\xb2\xe3\xe0\x25\xb2\xd3\xe0\x36\x93\xc3"
+            "\xe0\x46\x92\xc3\xe0\x66\x82\xa4\xe0\x86\x72\x93\xe0"
+            "\xb6\x53\x74\xe0\xe7\x22\x55\xe0\xe0\x4e\x03\xe0\xe0"
+            "\xaa\xe0\xe0\xe0\x13\xe0\xd0\xf2\xe0\x72\xe0\xe0\xe0"
+            "\x63\xe0\xe0\xf2\xe0\x62\xe0\xe0\x10\xe0\x53\xe0\xe0"
+            "\x10\xf2\xe0\x52\xe0\xe0\x20\xe0\x43\xe0\xe0\x20\xf2"
+            "\xe0\x42\xe0\xe0\x3e" }  },
+      /* --- pixel bitmap for cmmi600 char#33 \omega --- */
+      {  33,101759,                     /* character number, location */
+         37, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 50,   38, 3,319, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x91\xe0\xe0\x63\xb3\xe0\xe0\x46\x84\xe0\xe0\x37\x74"
+            "\xe0\xe0\x48\x63\xe0\xe0\x58\x54\xe0\xe0\x58\x53\xe0"
+            "\xe0\x77\x43\xe0\xe0\x96\x43\xe0\xe0\xa5\x33\xe0\xe0"
+            "\xb5\x33\xe0\xe0\xc4\xf1\x23\xe0\xe0\xd3\x10\x22\xe0"
+            "\x72\xe0\x53\x32\xe0\x63\xe0\x53\x23\xe0\x54\xe0\x52"
+            "\x20\xf1\x12\xe0\x64\xe0\x52\x20\x12\xe0\x64\xe0\x43"
+            "\x23\xe0\x54\xe0\x52\x32\xe0\x64\xe0\x52\x32\xe0\x64"
+            "\xe0\x43\x32\xe0\x63\xe0\x53\x32\xe0\x63\xe0\x43\x43"
+            "\xe0\x44\xe0\x43\x43\xe0\x44\xe0\x33\x53\xe0\x35\xe0"
+            "\x24\x53\xe0\x27\xe0\x14\x54\xe8\xe4\x65\xca\xc5\x66"
+            "\x96\x16\x96\x77\x68\x27\x57\x9e\x05\x3e\x05\x9e\x04"
+            "\x5e\x03\xbe\x02\x6e\x02\xdd\x9e\xe0\x1b\xbb\xe0\x56"
+            "\xe0\x36\xe0\x16" }  },
+      /* --- pixel bitmap for cmmi600 char#34 \varepsilon --- */
+      {  34,102878,                     /* character number, location */
+         38, 2,   -2, 2,      /* topleft row,col, and botleft row,col */
+          { 33,   40, 3,195, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x49\xe0\x7e\xe0\x3e\x04\xde\x08\x98\x97\x85\xe0"
+            "\x15\x74\xe0\x44\x63\xe0\xa0\xf1\x53\xe0\xb0\xf4\x52"
+            "\xe0\xc0\x53\x83\xe0\x63\x2c\xe0\x39\x34\xe0\x3e\x02"
+            "\xe0\x23\x2b\xe0\x23\xe0\xe0\x13\xe0\xe0\x13\xe0\xe0"
+            "\x13\xe0\xe0\x22\xe0\xe0\x23\xe0\xe0\x10\xf1\x12\xe0"
+            "\xe0\x2f\x13\xe0\xe0\x23\xe0\xb1\x52\xe0\xa3\x43\xe0"
+            "\x92\x54\xe0\x73\x64\xe0\x44\x77\xc6\x9e\x08\xde\x05"
+            "\xe0\x2e\x01\xe0\x69\xe0\x13" }  },
+      /* --- pixel bitmap for cmmi600 char#35 \vartheta --- */
+      {  35,103959,                     /* character number, location */
+         59, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 45,   60, 3,381, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\x25\xe0\xe0\xa9\xe0\xe0\x64\x44\xe0\xe0\x43"
+            "\x74\xe0\xe0\x23\x94\xe0\xe0\x12\xa4\xe0\xe3\xa5\xe0"
+            "\xc3\xb5\xe0\xc2\xc5\xe0\xb3\xc5\x40\xf2\xe0\x72\xd6"
+            "\x30\xe0\x63\xd6\x30\xf2\xe0\x62\xe6\x30\xe0\x63\xd6"
+            "\x30\xf1\xe0\x72\xd6\x30\xe0\x73\xb7\xe0\xb3\xa7\xa5"
+            "\xb2\xa7\x89\x94\x87\x73\x35\xa3\x67\x73\x55\xa3\x57"
+            "\x72\x65\xb5\x27\x63\x66\xcc\x62\x76\xe0\x19\x53\x76"
+            "\xe0\x29\x42\x86\xe0\x2c\x12\x86\xe0\x27\x23\x12\x77"
+            "\xe0\x18\x53\x77\xe0\x17\x6f\x12\x86\xe0\x27\x60\xf1"
+            "\x97\xe0\x17\x70\x96\xe0\x27\xe0\x26\xe0\x26\x80\xf1"
+            "\x87\xe0\x17\x80\x86\xe0\x26\xe0\x36\xe0\x17\xe0\x36"
+            "\xe0\x16\xe0\x37\xe7\xe0\x36\xe0\x16\xb0\xf1\x76\xe6"
+            "\xc0\x76\xd6\xe0\x66\xd5\xe0\x75\xd6\xe0\x76\xc5\xe0"
+            "\x86\xb5\xe0\x96\xa5\xe0\xb5\xa4\xe0\xc6\x84\xe0\xe6"
+            "\x55\xe0\xe0\x3c\xe0\xe0\x87\xe0\xa0" }  },
+      /* --- pixel bitmap for cmmi600 char#36 \varpi --- */
+      {  36,105402,                     /* character number, location */
+         36, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 66,   37, 3,411, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xae\x0e\x0e\x0d\x9e\x0e\x0e\x0e\x02\x7e\x0e\x0e\x0e"
+            "\x03\x6e\x0e\x0e\x0e\x04\x5e\x0e\x0e\x0e\x04\x55\x63"
+            "\xe0\xe0\xc2\x94\x73\xe0\xe0\xd2\x84\x82\xe0\xe0\xe2"
+            "\x83\x83\xe0\xe0\xe2\x73\x83\xe0\xe0\xe0\x13\x53\x92"
+            "\xe0\xe0\xe0\x32\x52\x93\xe0\xe0\xe0\x32\xe0\x22\xe0"
+            "\x82\xe0\x82\xe0\x13\xe0\x73\xe0\x73\xe0\x12\xe0\x83"
+            "\xe0\x72\xe0\x13\xe0\x82\xe0\x82\xe0\x12\xe0\x83\xe0"
+            "\x82\xe0\x12\xe0\x83\xe0\x73\xe3\xe0\x74\xe0\x72\xe0"
+            "\x12\xe0\x84\xe0\x72\xe0\x12\xe0\x75\xe0\x63\xe0\x12"
+            "\xe0\x74\xe0\x72\xe0\x13\xe0\x65\xe0\x63\xe0\x13\xe0"
+            "\x56\xe0\x63\xe0\x12\xe0\x63\x13\xe0\x43\xe0\x23\xe0"
+            "\x44\x13\xe0\x34\xe0\x23\xe0\x34\x23\xe0\x24\xe0\x33"
+            "\xe0\x24\x33\xe0\x14\xe0\x43\xe0\x14\x44\xd5\xe0\x44"
+            "\xc6\x44\xc5\xe0\x54\xb6\x55\xa5\xe0\x65\x78\x66\x67"
+            "\xe0\x8e\x04\x8e\x03\xe0\x9e\x02\xae\x02\xe0\xbe\xce"
+            "\xe0\xdb\xe0\x1b\xe0\xe0\x36\xe0\x67\xe0\x73" }  },
+      /* --- pixel bitmap for cmmi600 char#37 \varrho --- */
+      {  37,106463,                     /* character number, location */
+         37, 6,  -16, 6,      /* topleft row,col, and botleft row,col */
+          { 36,   53, 3,263, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x77\xe0\xcc\xe0\x86\x54\xe0\x65\x85\xe0\x25\xa6"
+            "\xe5\xc5\xd5\xd6\xb6\xe5\xa6\xe0\x16\x95\xe0\x26\x86"
+            "\xe0\x26\xf1\x76\xe0\x36\x66\xe0\x46\x66\xe0\x37\x57"
+            "\xe0\x37\xf1\x56\xe0\x47\x56\xe0\x38\x47\xe0\x38\xf1"
+            "\x46\xe0\x47\x10\x46\xe0\x38\x47\xe0\x37\x56\xe0\x47"
+            "\x20\xf1\x36\xe0\x37\x30\x27\xe0\x27\x67\xe0\x26\x77"
+            "\xe0\x17\x72\x15\xe6\x73\x15\xd6\x83\x24\xc6\x92\x35"
+            "\xa6\xa2\x45\x85\xc2\x55\x55\xe2\x7b\xe0\x13\x97\xe0"
+            "\x3f\x53\xe0\xe0\x54\xe0\xe0\x46\xe0\xe0\x3e\x07\xe0"
+            "\x1e\x0a\xde\x09\xe0\x1e\x08\xe0\x2e\x06\xa0\xf1\xe0"
+            "\x92\xb0" }  },
+      /* --- pixel bitmap for cmmi600 char#38 \varsigma --- */
+      {  38,107426,                     /* character number, location */
+         37, 3,   -9, 3,      /* topleft row,col, and botleft row,col */
+          { 31,   46, 3,167, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x49\xe0\x4e\x02\xd6\x76\xa5\xd2\x95\xe0\xb4\xe0"
+            "\xc4\xe0\xc4\xe0\xc4\xe0\xc4\xe0\xa0\xf1\x24\xe0\xb0"
+            "\xf2\x14\xe0\xc5\xe0\xc4\xe0\xdf\x35\xe0\xc6\xe0\xb7"
+            "\xe0\xa8\xe0\xa8\xe0\x9a\xe0\x8b\xe0\x7c\xe0\x6d\xe0"
+            "\x5d\xe0\x6d\xe0\x6d\xe0\x6c\xe0\x7b\xe0\x7a\xe0\x98"
+            "\xe0\xb6\x70\xf3\xe0\x55\x70\xe0\x54\xe0\xc4\xe0\x53"
+            "\x44\xe0\x6a\xe0\xa5\xd3" }  },
+      /* --- pixel bitmap for cmmi600 char#39 \varphi --- */
+      {  39,108455,                     /* character number, location */
+         37, 3,  -18, 3,      /* topleft row,col, and botleft row,col */
+          { 49,   55, 3,385, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\x86\xe0\x12\xe0\x9b\xc3\xe0\x8e\xa2\xe0\x7e"
+            "\x02\x93\xe0\x6e\x04\x73\xe0\x67\x67\x62\xe0\x65\xb5"
+            "\x53\xe0\x64\xd4\x52\xe0\x64\xe0\x13\x43\xe0\x54\xe0"
+            "\x24\x32\xe0\x63\xe0\x43\x23\xe0\x53\xe0\x53\x22\xe0"
+            "\x62\xe0\x63\x22\xe0\x53\xe0\x63\x22\xe0\x52\xe0\x73"
+            "\x13\xe0\x42\xe0\x82\x22\xe0\x52\xe0\x82\x22\xe0\x42"
+            "\xe0\x92\x22\xe0\x42\xe0\x83\x22\xe0\x42\xe0\x82\x2f"
+            "\x13\xe0\x32\xe0\x83\x23\xe0\x32\xe0\x73\x42\xe0\x22"
+            "\xe0\x83\x43\xe0\x12\xe0\x73\x53\xe0\x12\xe0\x63\x64"
+            "\xd3\xe0\x54\x74\xc3\xe0\x44\x85\xb2\xe0\x35\xa5\x93"
+            "\xe0\x25\xc6\x73\xe6\xd8\x53\xb8\xe0\x2e\x89\xe0\x5e"
+            "\x0e\x01\xe0\x7e\x0c\xe0\xbe\x08\xe0\xe0\x2e\x03\xe0"
+            "\xe0\x6b\xe0\x90\xf1\xe5\xe0\xe0\x20\xe4\xe0\xe0\x30"
+            "\xf3\xd5\xe0\xe0\x30\xf2\xc5\xe0\xe0\x40\xf2\xb6\xe0"
+            "\xe0\x40\xf2\xa6\xe0\xe0\x50\xb4\xe0\xe0\x60" }  },
+      /* --- pixel bitmap for cmmi600 char#40 \leftharpoonup --- */
+      {  40,126395,                     /* character number, location */
+         43, 5,   19, 5,      /* topleft row,col, and botleft row,col */
+          { 73,   24, 2,63, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x12\x03\x34\x00\xff\x01\x11\x04\x34\x00\x10\x05\x44"
+            "\x04\x35\x00\xff\x01\x0f\x05\x35\x00\xff\x01\x0e\x05"
+            "\x36\x00\x0d\x05\x37\x00\xff\x01\x0c\x05\x38\x00\x0b"
+            "\x05\x43\x05\x43\x06\x42\x06\x42\x06\x42\x06\x42\x06"
+            "\x41\x07\x41\x46\x01\xff\x01\x49\x00\x48\x01" }  },
+      /* --- pixel bitmap for cmmi600 char#41 \leftharpoondown --- */
+      {  41,127461,                     /* character number, location */
+         23, 5,   -1, 5,      /* topleft row,col, and botleft row,col */
+          { 73,   24, 2,63, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x00\x48\x01\xff\x01\x49\x02\x46\x04\x07\x44\x06\x44"
+            "\x06\x44\x06\x44\x06\x44\x06\x44\x05\x45\x05\x39\x00"
+            "\xff\x01\x0c\x05\x38\x00\x0d\x05\x37\x00\xff\x01\x0e"
+            "\x05\x36\x00\xff\x01\x0f\x05\x35\x00\x10\x04\x45\x05"
+            "\x34\x00\xff\x01\x11\x04\x34\x00\x12\x03\x34" }  },
+      /* --- pixel bitmap for cmmi600 char#42 \rightharpoonup --- */
+      {  42,128525,                     /* character number, location */
+         43, 5,   19, 5,      /* topleft row,col, and botleft row,col */
+          { 73,   24, 2,62, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x34\x03\x12\x00\xff\x01\x34\x04\x11\x00\x34\x05\x45"
+            "\x04\x10\x00\xff\x01\x35\x05\x0f\x00\xff\x01\x36\x05"
+            "\x0e\x00\x37\x05\x0d\x00\xff\x01\x38\x05\x0c\x00\x39"
+            "\x05\x45\x05\x44\x06\x44\x06\x44\x06\x44\x06\x44\x06"
+            "\x44\x07\x04\x46\x02\xff\x01\x49\x01\x48" }  },
+      /* --- pixel bitmap for cmmi600 char#43 \rightharpoondown --- */
+      {  43,129592,                     /* character number, location */
+         23, 5,   -1, 5,      /* topleft row,col, and botleft row,col */
+          { 73,   24, 2,63, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x01\x48\x00\xff\x01\x49\x01\x46\x41\x07\x41\x06\x42"
+            "\x06\x42\x06\x42\x06\x42\x06\x43\x05\x43\x05\x0b\x00"
+            "\xff\x01\x38\x05\x0c\x00\x37\x05\x0d\x00\xff\x01\x36"
+            "\x05\x0e\x00\xff\x01\x35\x05\x0f\x00\x35\x04\x44\x05"
+            "\x10\x00\xff\x01\x34\x04\x11\x00\x34\x03\x12" }  },
+      /* --- pixel bitmap for cmmi600 char#44 ` --- */
+      {  44,130051,                     /* character number, location */
+         41, 5,   19, 5,      /* topleft row,col, and botleft row,col */
+          { 13,   22, 3,43, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x84\x77\x49\x39\x37\x56\x75\x7f\x15\x8f\x34\x9f\x15"
+            "\x80\x15\x86\x87\x79\x59\x67\x84\x10" }  },
+      /* --- pixel bitmap for cmmi600 char#45 ' --- */
+      {  45,130503,                     /* character number, location */
+         41, 5,   19, 5,      /* topleft row,col, and botleft row,col */
+          { 13,   22, 3,43, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x14\x87\x69\x59\x77\x86\x85\x10\xf1\x85\xf3\x94\xf1"
+            "\x85\x75\x76\x57\x39\x39\x47\x74\x80" }  },
+      /* --- pixel bitmap for cmmi600 char#46 \triangleright --- */
+      {  46,131072,                     /* character number, location */
+         42, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 36,   42, 3,225, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x12\xe0\xe0\x55\xe0\xe0\x37\xe0\xe0\x18\xe0\xea\xe0"
+            "\xcc\xe0\xa4\x27\xe0\x94\x38\xe0\x74\x58\xe0\x54\x77"
+            "\xe0\x44\x88\xe0\x24\xa8\xe4\xc8\xc4\xd8\xb4\xe0\x18"
+            "\x94\xe0\x38\x74\xe0\x57\x64\xe0\x68\x44\xe0\x88\x24"
+            "\xe0\xa7\x1f\x14\xe0\xb7\x04\xe0\xa7\x14\xe0\x88\x24"
+            "\xe0\x68\x44\xe0\x57\x64\xe0\x38\x74\xe0\x18\x94\xe7"
+            "\xb4\xc8\xc4\xa8\xe4\x88\xe0\x24\x78\xe0\x34\x58\xe0"
+            "\x54\x38\xe0\x74\x27\xe0\x9c\xe0\xaa\xe0\xc8\xe0\xe7"
+            "\xe0\xe0\x15\xe0\xe0\x42\xe0\xe0\x56" }  },
+      /* --- pixel bitmap for cmmi600 char#47 \triangleleft --- */
+      {  47,131740,                     /* character number, location */
+         42, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 36,   42, 3,225, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\x52\xe0\xe0\x45\xe0\xe0\x17\xe0\xe8\xe0\xca"
+            "\xe0\xac\xe0\x97\x24\xe0\x78\x34\xe0\x58\x54\xe0\x47"
+            "\x74\xe0\x28\x84\xe8\xa4\xc8\xc4\xb8\xd4\x98\xe0\x14"
+            "\x78\xe0\x34\x67\xe0\x54\x48\xe0\x64\x28\xe0\x84\x17"
+            "\xe0\xa4\x0f\x17\xe0\xb4\x17\xe0\xa4\x28\xe0\x84\x48"
+            "\xe0\x64\x67\xe0\x54\x78\xe0\x34\x98\xe0\x14\xb7\xe4"
+            "\xc8\xc4\xe8\xa4\xe0\x28\x84\xe0\x38\x74\xe0\x58\x54"
+            "\xe0\x78\x34\xe0\x97\x24\xe0\xac\xe0\xca\xe0\xe8\xe0"
+            "\xe0\x17\xe0\xe0\x35\xe0\xe0\x52\x16" }  },
+      /* --- pixel bitmap for cmmi600 char#48 \0 --- */
+      {  48,115808,                     /* character number, location */
+         38, 3,   -2, 3,      /* topleft row,col, and botleft row,col */
+          { 36,   40, 3,139, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xda\xe0\x9e\x02\xe0\x46\x86\xe6\xc6\xb5\xe0\x25\x95"
+            "\xe0\x45\x76\xe0\x46\x65\xe0\x65\x30\xf1\x26\xe0\x66"
+            "\x20\xf3\x16\xe0\x86\x1f\xb7\xe0\x87\xf2\x16\xe0\x86"
+            "\x10\x17\xe0\x67\x10\xf1\x26\xe0\x66\x20\x35\xe0\x65"
+            "\x66\xe0\x46\x76\xe0\x26\x96\xe6\xb6\xc6\xe6\x86\xe0"
+            "\x4e\x02\xe0\x9a\xd3" }  },
+      /* --- pixel bitmap for cmmi600 char#49 \1 --- */
+      {  49,116687,                     /* character number, location */
+         38, 8,    0, 8,      /* topleft row,col, and botleft row,col */
+          { 28,   38, 3,50, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xe0\x12\xe0\xa4\xe0\x86\xe0\x2c\xbf\x1e\x03\xb0\x14"
+            "\x66\xb0\xfe\xb6\xb0\xfb\xb6\xb0\xa8\xaf\x2e\x0e" }  },
+      /* --- pixel bitmap for cmmi600 char#50 \2 --- */
+      {  50,117711,                     /* character number, location */
+         38, 4,    0, 4,      /* topleft row,col, and botleft row,col */
+          { 34,   38, 3,181, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xbb\xe0\x6e\x03\xe0\x1e\x08\xb5\x9a\x93\xe0\x19\x63"
+            "\xe0\x39\x43\xe0\x59\x32\xe0\x78\x25\xe0\x68\xf1\x16"
+            "\xe0\x58\xf1\x16\xe0\x67\x24\xe0\x68\xe0\xc8\xe0\xc7"
+            "\xe0\xc8\xe0\xc7\xe0\xc8\xe0\xb7\xe0\xc7\xe0\xc7\xe0"
+            "\xb7\xe0\xc6\xe0\xc6\xe0\xd5\xe0\xd5\xe0\xe4\xe0\x22"
+            "\xa5\xe0\x32\x94\xe0\x52\x74\xe0\x63\x64\xe0\x72\x5e"
+            "\x0e\x01\x4e\x0e\x02\x2e\x0e\x04\x1f\x2e\x0e\x04\x20" }  },
+      /* --- pixel bitmap for cmmi600 char#51 \3 --- */
+      {  51,118814,                     /* character number, location */
+         38, 4,  -18, 4,      /* topleft row,col, and botleft row,col */
+          { 35,   56, 3,273, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xd8\xe0\xae\xe0\x4e\x05\xe0\x16\x88\xc4\xd7\xa3\xe0"
+            "\x27\x83\xe0\x38\x72\xe0\x57\x66\xe0\x28\x57\xe0\x18"
+            "\x57\xe0\x27\x58\xe0\x17\x57\xe0\x27\x66\xe0\x18\x73"
+            "\xe0\x38\xe0\xd8\x30\xf1\xe0\xa7\x40\xf1\xe0\x97\x50"
+            "\xe0\x87\xe0\xd7\xe0\xe6\xe0\xd6\xe0\xd6\xe0\x8c\xe0"
+            "\x9e\x01\xe0\xe0\x27\xe0\xe0\x27\xe0\xe0\x17\xe0\xe0"
+            "\x17\xe0\xe0\x17\xe0\xe8\xe0\xe7\x20\xf1\xe0\xc8\x10"
+            "\xf1\xe0\xd8\x32\xe0\x88\x16\xe0\x68\x0f\x38\xe0\x58"
+            "\x08\xe0\x48\x17\xe0\x58\x22\xe0\x98\x23\xe0\x78\x43"
+            "\xe0\x67\x54\xe0\x48\x64\xe0\x28\x85\xd8\xb6\x88\xee"
+            "\x05\xe0\x4e\x01\xe0\x99\xe7" }  },
+      /* --- pixel bitmap for cmmi600 char#52 \4 --- */
+      {  52,119863,                     /* character number, location */
+         39, 2,  -16, 2,      /* topleft row,col, and botleft row,col */
+          { 38,   55, 3,241, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xc3\x90\xf1\xe0\xb4\x90\xe0\xa5\xe0\xe0\x46\x90"
+            "\xf1\xe0\x87\x90\xe0\x78\xe0\xe0\x19\xe0\xe0\x12\x16"
+            "\xe0\xe2\x26\xe0\xd3\x26\xe0\xc3\x36\xe0\xc2\x46\xe0"
+            "\xb2\x56\xe0\xa3\x56\xe0\x93\x66\xe0\x92\x76\xe0\x82"
+            "\x86\xe0\x73\x86\xe0\x63\x96\xe0\x62\xa6\xe0\x52\xb6"
+            "\xe0\x43\xb6\xe0\x33\xc6\xe0\x32\xd6\xe0\x22\xe6\xe0"
+            "\x13\xe6\xe0\x12\xe0\x16\xe2\xe0\x26\xd3\xe0\x26\xc3"
+            "\xe0\x36\xc2\xe0\x46\xb2\xe0\x56\xa3\xe0\x56\x93\xe0"
+            "\x66\x9f\x2e\x0e\x0a\xfb\xe0\x96\x90\xe0\x88\x80\xf2"
+            "\xe0\x1e\x08\x10" }  },
+      /* --- pixel bitmap for cmmi600 char#53 \5 --- */
+      {  53,121022,                     /* character number, location */
+         38, 4,  -18, 4,      /* topleft row,col, and botleft row,col */
+          { 34,   56, 3,227, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x52\xe0\x82\x84\xe0\x44\x88\xa7\x9e\x0a\xae\x09\xbe"
+            "\x08\xce\x07\xde\x05\xe0\x12\x2c\xe0\x42\x73\xe0\x30"
+            "\xf9\x52\xe0\xd0\x52\x78\xe0\x32\x4d\xe0\x12\x25\x75"
+            "\xd2\x13\xb6\xb5\xd6\xa3\xe0\x26\x93\xe0\x36\x82\xe0"
+            "\x46\x30\xf1\xe0\xc6\x20\xe0\xc7\x10\xf1\xe0\xd6\x10"
+            "\xf3\xe0\xd7\x24\xe0\x77\x0f\x37\xe0\x67\x07\xe0\x66"
+            "\x16\xe0\x67\x13\xe0\x97\x22\xe0\x96\x33\xe0\x77\x42"
+            "\xe0\x76\x53\xe0\x57\x63\xe0\x37\x83\xe0\x17\xa4\xc7"
+            "\xc6\x77\xe0\x1e\x04\xe0\x4e\xe0\x98\xe0" }  },
+      /* --- pixel bitmap for cmmi600 char#54 \6 --- */
+      {  54,122047,                     /* character number, location */
+         55, 4,   -2, 4,      /* topleft row,col, and botleft row,col */
+          { 34,   57, 3,253, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x47\xe0\xad\xe0\x5e\x02\xe0\x27\x84\xe6\xc3\xc6"
+            "\xd3\xb5\xd6\x96\xc7\x86\xd7\x76\xe7\x75\xe0\x17\x66"
+            "\xe0\x25\x75\xe0\xb0\xf1\x36\xe0\xb0\xf2\x26\xe0\xc0"
+            "\xf1\x17\xe0\xc0\x16\x78\xd6\x5c\xa7\x43\x75\x87\x33"
+            "\x95\x77\x23\xb5\x67\x13\xd5\x5a\xe0\x15\x49\xe0\x26"
+            "\x39\xe0\x36\x28\xe0\x46\x28\xe0\x47\x1f\x18\xe0\x56"
+            "\x1f\x47\xe0\x67\xf2\x16\xe0\x67\xf1\x17\xe0\x57\x26"
+            "\xe0\x57\x26\xe0\x56\x36\xe0\x47\x46\xe0\x37\x46\xe0"
+            "\x36\x65\xe0\x26\x76\xe0\x16\x86\xd6\xa5\xc6\xc5\xa6"
+            "\xe6\x67\xe0\x2e\x03\xe0\x5d\xe0\xa7\xd8" }  },
+      /* --- pixel bitmap for cmmi600 char#55 \7 --- */
+      {  55,123108,                     /* character number, location */
+         39, 5,  -18, 5,      /* topleft row,col, and botleft row,col */
+          { 36,   57, 3,239, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\x23\xe0\xe0\x30\x24\xe0\xe0\x20\xf2\x2e\x0e\x06"
+            "\x2e\x0e\x05\x10\xf1\x1e\x0e\x05\x20\x13\xe0\xc3\x42"
+            "\xe0\xc3\x52\xe0\xc2\x62\xe0\xb3\x53\xe0\xa3\x62\xe0"
+            "\xa3\x72\xe0\xa2\x82\xe0\x93\xe0\xe0\x43\xe0\xe0\x43"
+            "\xe0\xe0\x52\xe0\xe0\x53\xe0\xe0\x43\xe0\xe0\x52\xe0"
+            "\xe0\x53\xd0\xf1\xe0\x53\xe0\xe0\x43\xe0\xe0\x44\xe0"
+            "\xe0\x43\xe0\x20\xf1\xe0\x24\xe0\x20\xf1\xe0\x14\xe0"
+            "\x30\xe5\xe0\xe0\x34\xe0\x40\xf2\xd5\xe0\x40\xf2\xc6"
+            "\xe0\x40\xc5\xe0\x50\xf3\xb6\xe0\x50\xf9\xa7\xe0\x50"
+            "\xc3\xe0\x70" }  },
+      /* --- pixel bitmap for cmmi600 char#56 \8 --- */
+      {  56,124123,                     /* character number, location */
+         55, 4,   -2, 4,      /* topleft row,col, and botleft row,col */
+          { 34,   57, 3,267, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xd8\xe0\x9e\xe0\x4e\x04\xe0\x16\x86\xd4\xd6\xa4\xe0"
+            "\x16\x84\xe0\x35\x74\xe0\x55\x64\xe0\x64\x63\xe0\x75"
+            "\x20\xf3\x24\xe0\x84\x20\x25\xe0\x74\x46\xe0\x55\x46"
+            "\xe0\x54\x58\xe0\x34\x68\xe0\x14\x7a\xc5\x8a\xa5\x9c"
+            "\x75\xbc\x54\xed\x24\xe0\x3e\x01\xe0\x6d\xe0\x9d\xe0"
+            "\x8d\xe0\x5e\x03\xe0\x14\x3d\xd4\x6c\xa5\x9b\x85\xbb"
+            "\x65\xea\x45\xe0\x29\x44\xe0\x58\x25\xe0\x67\x24\xe0"
+            "\x8c\xe0\x96\x0f\x14\xe0\xb5\x0f\x34\xe0\xc4\x05\xe0"
+            "\xb3\x10\xf1\x14\xe0\xa4\x10\x15\xe0\x84\x45\xe0\x74"
+            "\x55\xe0\x54\x75\xe0\x34\x95\xe5\xb7\x87\xee\x04\xe0"
+            "\x4e\xe0\x98\xd1" }  },
+      /* --- pixel bitmap for cmmi600 char#57 \9 --- */
+      {  57,125180,                     /* character number, location */
+         38, 4,  -18, 4,      /* topleft row,col, and botleft row,col */
+          { 34,   56, 3,251, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xd8\xe0\x9d\xe0\x6e\x02\xe0\x27\x67\xd6\xa6\xb6\xc5"
+            "\xa6\xe5\x86\xe0\x16\x67\xe0\x25\x66\xe0\x36\x47\xe0"
+            "\x45\x47\xe0\x46\x36\xe0\x56\x27\xe0\x56\x27\xe0\x57"
+            "\x1f\x37\xe0\x66\x1f\x37\xe0\x67\xf1\x16\xe0\x58\x17"
+            "\xe0\x48\x26\xe0\x48\x26\xe0\x39\x36\xe0\x29\x45\xe0"
+            "\x1a\x46\xd3\x17\x56\xb3\x27\x75\x93\x37\x85\x73\x47"
+            "\xac\x57\xc8\x76\xe0\xe6\x10\xf1\xe0\xc7\x10\xf2\xe0"
+            "\xc6\x20\xf1\xe0\xb6\x30\x35\xe0\x26\x67\xe0\x16\x67"
+            "\xe6\x77\xe5\x87\xd6\x86\xd6\xa3\xe6\xb3\xd6\xd5\x86"
+            "\xe0\x2e\x03\xe0\x5d\xe0\x98\xe0\x37" }  },
+      /* --- pixel bitmap for cmmi600 char#58 . --- */
+      {  58,132337,                     /* character number, location */
+          9, 7,    0, 7,      /* topleft row,col, and botleft row,col */
+          {  9,    9, 3,13, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x33\x47\x1f\x49\x17\x43\x30" }  },
+      /* --- pixel bitmap for cmmi600 char#59 , --- */
+      {  59,132910,                     /* character number, location */
+          9, 7,  -16, 7,      /* topleft row,col, and botleft row,col */
+          { 10,   25, 3,49, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x33\x57\x2f\x19\x1f\x2a\x19\x33\x22\xf3\x82\x73\xf1"
+            "\x72\x10\x63\x72\x73\x72\x73\x63\x63\x63\x72\x70" }  },
+      /* --- pixel bitmap for cmmi600 char#60 < --- */
+      {  60,133608,                     /* character number, location */
+         46, 7,   -4, 7,      /* topleft row,col, and botleft row,col */
+          { 51,   50, 2,103, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x2f\x03\x2e\x06\x2b\x08\x29\x09\x28\x09\x28\x09\x28"
+            "\x09\x28\x09\x28\x09\x28\x09\x28\x09\x28\x09\x28\x09"
+            "\x28\x09\x28\x09\x28\x09\x28\x09\x28\x09\x28\x09\x28"
+            "\x09\x28\x09\x28\x09\x28\x09\x28\x09\x29\xff\x01\x08"
+            "\x2b\x00\x01\x09\x2c\x09\x2c\x09\x2c\x09\x2c\x09\x2c"
+            "\x09\x2c\x09\x2c\x09\x2c\x09\x2c\x09\x2c\x09\x2c\x09"
+            "\x2c\x09\x2c\x09\x2c\x09\x2c\x09\x2c\x09\x2c\x09\x2c"
+            "\x09\x2c\x09\x2c\x09\x2c\x08\x2d\x06\x2f\x03\x01" }  },
+      /* --- pixel bitmap for cmmi600 char#61 / --- */
+      {  61,134210,                     /* character number, location */
+         62, 5,  -21, 5,      /* topleft row,col, and botleft row,col */
+          { 32,   83, 3,375, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\x12\xe0\xe0\x14\xf1\xe0\xd5\xe0\xd4\x10\xf1"
+            "\xe0\xc5\x10\xe0\xc4\x20\xf1\xe0\xb5\x20\xe0\xb4\x30"
+            "\xf1\xe0\xa5\x30\xe0\xa4\x40\xf1\xe0\x95\x40\xe0\x94"
+            "\x50\xf1\xe0\x85\x50\xf1\xe0\x75\x60\xe0\x74\x70\xf1"
+            "\xe0\x65\x70\xe0\x64\x80\xf1\xe0\x55\x80\xe0\x54\x90"
+            "\xf1\xe0\x45\x90\xe0\x44\xa0\xf1\xe0\x35\xa0\xf1\xe0"
+            "\x25\xb0\xe0\x24\xc0\xf1\xe0\x15\xc0\xe0\x14\xd0\xf1"
+            "\xe5\xd0\xe4\xe0\xf1\xd5\xe0\xd4\xe0\x10\xf1\xc5\xe0"
+            "\x10\xc4\xe0\x20\xf1\xb5\xe0\x20\xf1\xa5\xe0\x30\xa4"
+            "\xe0\x40\xf1\x95\xe0\x40\x94\xe0\x50\xf1\x85\xe0\x50"
+            "\x84\xe0\x60\xf1\x75\xe0\x60\x74\xe0\x70\xf1\x65\xe0"
+            "\x70\xf1\x55\xe0\x80\x54\xe0\x90\xf1\x45\xe0\x90\x44"
+            "\xe0\xa0\xf1\x35\xe0\xa0\x34\xe0\xb0\xf1\x25\xe0\xb0"
+            "\x24\xe0\xc0\xf1\x15\xe0\xc0\x14\xe0\xdf\x15\xe0\xd4"
+            "\xe0\xe0\x12\xe0\xe0\x13" }  },
+      /* --- pixel bitmap for cmmi600 char#62 > --- */
+      {  62,135025,                     /* character number, location */
+         46, 7,   -4, 7,      /* topleft row,col, and botleft row,col */
+          { 51,   50, 2,103, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x01\x03\x2f\x06\x2d\x08\x2c\x09\x2c\x09\x2c\x09\x2c"
+            "\x09\x2c\x09\x2c\x09\x2c\x09\x2c\x09\x2c\x09\x2c\x09"
+            "\x2c\x09\x2c\x09\x2c\x09\x2c\x09\x2c\x09\x2c\x09\x2c"
+            "\x09\x2c\x09\x2c\x09\x2c\x09\x2c\x09\x01\x00\xff\x01"
+            "\x2b\x08\x29\x09\x28\x09\x28\x09\x28\x09\x28\x09\x28"
+            "\x09\x28\x09\x28\x09\x28\x09\x28\x09\x28\x09\x28\x09"
+            "\x28\x09\x28\x09\x28\x09\x28\x09\x28\x09\x28\x09\x28"
+            "\x09\x28\x09\x28\x09\x29\x08\x2b\x06\x2e\x03\x2f" }  },
+      /* --- pixel bitmap for cmmi600 char#63 \star --- */
+      {  63,135802,                     /* character number, location */
+         41, 0,    1, 0,      /* topleft row,col, and botleft row,col */
+          { 42,   40, 3,179, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf4\xe0\x62\xe0\x60\xf7\xe0\x54\xe0\x50\xf1\xe0\x46"
+            "\xe0\x46\xc6\xc6\x1b\x66\x6b\x4e\x16\x1e\x9e\x0e\x02"
+            "\xee\x0c\xe0\x4e\x08\xe0\x8e\x04\xe0\xce\xe0\xe0\x2a"
+            "\xe0\x20\xf1\xe0\x1c\xe0\x10\xf1\xee\xe0\xd7\x27\xe0"
+            "\xc6\x46\xe0\xb6\x66\xe0\xa5\x85\xe0\x95\xa5\xe0\x75"
+            "\xc5\xe0\x64\xe4\xe0\x54\xe0\x24\xe0\x43\xe0\x43\xe0"
+            "\x33\xe0\x63\xe0\x22\xe0\x82\xe0\x21\xe0\xa1\x80" }  },
+      /* --- pixel bitmap for cmmi600 char#64 \partial --- */
+      {  64,109633,                     /* character number, location */
+         60, 3,   -2, 3,      /* topleft row,col, and botleft row,col */
+          { 44,   62, 3,353, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x88\xe0\xe0\x5e\xe0\xe0\x1e\x03\xe0\xb6\x87\xe0"
+            "\x84\xd6\xe0\x63\xe0\x26\xe0\x43\xe0\x46\xe0\x32\xe0"
+            "\x66\xe0\x13\xe0\x75\xe0\x16\xe0\x46\xd7\xe0\x55\x20"
+            "\xf1\xb7\xe0\x56\x10\xb7\xe0\x65\xc6\xe0\x76\xf6\xe0"
+            "\xe0\xa6\xe0\x68\xa6\xe0\x3e\x76\xe0\x16\x74\x66\xd5"
+            "\xc3\x47\xb6\xe3\x37\xa6\xe0\x23\x27\x95\xe0\x52\x27"
+            "\x85\xe0\x6b\x76\xe0\x79\x76\xe0\x89\x66\xe0\x99\x57"
+            "\xe0\x99\x10\xf1\x37\xe0\xa8\x20\xf1\x27\xe0\xb8\x20"
+            "\x18\xe0\xb7\x47\xe0\xc7\x47\xe0\xc6\x57\xe0\xb7\x48"
+            "\xe0\xb7\x4f\x17\xe0\xb7\x57\xe0\xb6\x67\xe0\xa7\x66"
+            "\xe0\xb6\x76\xe0\xa7\x76\xe0\xa6\x86\xe0\x96\x96\xe0"
+            "\x95\xb6\xe0\x76\xb6\xe0\x66\xd6\xe0\x46\xe6\xe0\x36"
+            "\xe0\x26\xe0\x16\xe0\x46\xc6\xe0\x77\x78\xe0\x9e\x05"
+            "\xe0\xde\x01\xe0\xe0\x49\xe0\xa0" }  },
+      /* --- pixel bitmap for cmmi600 char#65 A --- */
+      {  65, 1092,                      /* character number, location */
+         60, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 57,   60, 3,450, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\xe2\xe0\xe0\xe0\xc3\xd0\xf1\xe0\xe0\xc4\xd0"
+            "\xe0\xe0\xb5\xe0\xe0\xe0\xa6\xe0\xe0\xe0\x87\xc0\xf1"
+            "\xe0\xe0\x98\xc0\xf1\xe0\xe0\x89\xc0\xe0\xe0\x72\x17"
+            "\xe0\xe0\xe0\x43\x17\xe0\xe0\xe0\x42\x27\xe0\xe0\xe0"
+            "\x32\x37\xe0\xe0\xe0\x32\x38\xe0\xe0\xe0\x12\x48\xe0"
+            "\xe0\xe3\x57\xe0\xe0\xe2\x67\xb0\xf1\xe0\xe0\x22\x77"
+            "\xb0\xf1\xe0\xe0\x12\x87\xb0\xe0\xe2\x97\xe0\xe0\xa2"
+            "\xa7\xe0\xe0\xa2\xa8\xe0\xe0\x82\xb8\xe0\xe0\x82\xc7"
+            "\xe0\xe0\x72\xd7\xa0\xf1\xe0\xa2\xe7\xa0\xf1\xe0\x92"
+            "\xe0\x17\xa0\xe0\x82\xe0\x27\xa0\xf1\xe0\x72\xe0\x37"
+            "\xa0\xe0\x62\xe0\x48\xe0\xe0\x12\xe0\x57\xe0\xee\x0e"
+            "\x01\x90\xf1\xe0\x4e\x0e\x02\x90\xf1\xe0\x32\xe0\x87"
+            "\x90\xe0\x22\xe0\x97\xe0\xa3\xe0\x97\xe0\xa2\xe0\xa7"
+            "\x90\xf1\xe2\xe0\xb8\x80\xd2\xe0\xd7\xe0\x63\xe0\xd7"
+            "\xe0\x62\xe0\xe7\xe0\x52\xe0\xe0\x17\xe0\x43\xe0\xe0"
+            "\x17\xe0\x42\xe0\xe0\x27\xe0\x33\xe0\xe0\x27\xe0\x16"
+            "\xe0\xe0\x18\xc9\xe0\xca\x7f\x1e\x04\xe0\x2e\x09\x0e"
+            "\x03\xe0\x3e\x09" }  },
+      /* --- pixel bitmap for cmmi600 char#66 B --- */
+      {  66, 2670,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 60,   57, 2,211, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0d\x24\x18\x28\x14\x29\x1b\x08\x12\x09\x19\x07\x15"
+            "\x08\x18\x07\x16\x08\x16\x08\x17\x08\x15\x08\x18\x07"
+            "\x15\x07\x19\x07\x15\x07\x19\x08\xff\x01\x13\x08\x19"
+            "\x08\xff\x01\x13\x07\x1a\x08\x12\x08\x1a\x08\x12\x08"
+            "\x1a\x07\x13\x07\x1a\x08\x13\x07\x1a\x07\x13\x08\x19"
+            "\x08\x13\x08\x19\x07\x14\x07\x19\x07\x15\x07\x18\x07"
+            "\x15\x08\x17\x07\x16\x08\x15\x08\x17\x07\x14\x08\x19"
+            "\x07\x12\x08\x1a\x20\x1c\x1f\x1d\x07\x12\x09\x1a\x07"
+            "\x15\x07\x18\x08\x17\x07\x16\x08\x17\x08\x15\x07\x19"
+            "\x07\x15\x07\x1a\x07\x13\x08\x1a\x07\x13\x08\x1a\x08"
+            "\x12\x07\x1b\x08\x12\x07\x1c\x07\x11\x08\x1c\x07\x11"
+            "\x08\x1b\x08\x05\x00\xff\x01\x0c\x07\x1c\x08\x05\x00"
+            "\x0b\x08\x1c\x08\x10\x08\x1b\x08\x11\x07\x1c\x08\x11"
+            "\x07\x1b\x08\x11\x08\x1b\x08\x11\x08\x1a\x08\x12\x07"
+            "\x1a\x08\x13\x07\x19\x08\x13\x08\x18\x08\x14\x08\x16"
+            "\x09\x15\x07\x16\x09\x15\x08\x13\x0a\x0f\x2b\x11\x29"
+            "\x13\x25\x17" }  },
+      /* --- pixel bitmap for cmmi600 char#67 C --- */
+      {  67, 3819,                      /* character number, location */
+         59, 4,   -2, 4,      /* topleft row,col, and botleft row,col */
+          { 59,   61, 2,217, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x20\x09\x0f\x03\x1c\x10\x0c\x03\x19\x15\x09\x03\x18"
+            "\x0a\x09\x05\x07\x04\x16\x09\x0e\x04\x05\x05\x15\x07"
+            "\x13\x03\x03\x06\x13\x08\x15\x03\x01\x06\x13\x07\x18"
+            "\x09\x11\x08\x19\x09\x10\x07\x1c\x08\x0f\x07\x1e\x06"
+            "\x0f\x07\x1f\x06\x0e\x07\x20\x06\x0d\x07\x22\x05\x0c"
+            "\x08\x22\x04\x0c\x08\x23\x04\x0c\x07\x24\x04\x0b\x08"
+            "\x24\x04\x0a\x08\x25\x03\x0b\x07\x26\x03\x0a\x08\x26"
+            "\x03\x09\x08\x27\x03\x09\x08\x27\x02\x09\x09\x27\x02"
+            "\x06\x00\xff\x01\x03\x08\x30\x00\xff\x02\x02\x08\x31"
+            "\x00\x01\x09\x31\x00\xff\x02\x01\x08\x32\x09\x32\xff"
+            "\x03\x08\x33\xff\x01\x08\x27\x02\x0a\x08\x26\x03\x0a"
+            "\xff\x01\x08\x26\x02\x0b\x00\x01\x07\x25\x03\x0c\x07"
+            "\x25\x02\x0d\x07\x24\x03\x0d\x07\x23\x03\x0f\x07\x22"
+            "\x02\x10\x07\x21\x03\x11\x07\x1f\x03\x12\x07\x1e\x03"
+            "\x14\x07\x1c\x03\x15\x07\x1b\x03\x17\x07\x19\x03\x19"
+            "\x07\x16\x04\x1b\x08\x13\x04\x1e\x07\x0f\x05\x21\x09"
+            "\x09\x07\x24\x15\x28\x10\x2f\x09\x20" }  },
+      /* --- pixel bitmap for cmmi600 char#68 D --- */
+      {  68, 5185,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 63,   57, 2,217, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0e\x23\x1b\x27\x18\x29\x1e\x08\x11\x09\x1d\x07\x15"
+            "\x08\x1b\x07\x16\x08\x19\x08\x18\x06\x19\x08\x19\x06"
+            "\x18\x07\x1a\x07\x17\x07\x1b\x06\x16\x08\x1b\x07\x15"
+            "\x08\x1c\x06\x02\x00\xff\x01\x13\x07\x1d\x07\x01\x00"
+            "\x12\x08\x1e\x06\x13\x08\x1e\x07\xff\x01\x12\x07\x1f"
+            "\x07\xff\x01\x11\x08\x1f\x07\xff\x01\x11\x07\x20\x07"
+            "\x10\x08\x20\x07\x10\x08\x1f\x08\xff\x01\x10\x07\x20"
+            "\x08\x0f\x08\x20\x08\x0f\x08\x20\x07\x01\x00\xff\x01"
+            "\x0f\x07\x20\x08\x01\x00\x0e\x08\x20\x08\x0f\x08\x20"
+            "\x07\x02\x00\xff\x01\x0e\x07\x20\x08\x02\x00\x0d\x08"
+            "\x20\x07\x10\x08\x1f\x08\x10\x07\x20\x07\x11\x07\x1f"
+            "\x08\x04\x00\xff\x01\x0c\x08\x1f\x07\x05\x00\x0c\x07"
+            "\x1f\x07\x12\x07\x1e\x07\x12\x08\x1e\x07\x12\x08\x1d"
+            "\x07\x13\x07\x1d\x07\x14\x07\x1d\x06\x14\x08\x1c\x06"
+            "\x15\x08\x1b\x06\x16\x07\x1b\x06\x17\x07\x19\x07\x17"
+            "\x08\x18\x07\x18\x08\x16\x07\x1a\x07\x15\x08\x1a\x08"
+            "\x11\x0a\x14\x29\x16\x27\x18\x23\x1c" }  },
+      /* --- pixel bitmap for cmmi600 char#69 E --- */
+      {  69, 6830,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 60,   57, 3,467, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xee\x0e\x0e\x04\xf1\xde\x0e\x0e\x05\xe0\x78\xe0\x7a"
+            "\xe0\x77\xe0\xb7\xe0\x77\xe0\xc5\xe0\x78\xe0\xd4\xe0"
+            "\x78\xe0\xe3\x10\xf1\xe0\x67\xe0\xe0\x13\x10\xf1\xe0"
+            "\x58\xe0\xe0\x13\x10\xe0\x57\xe0\xe0\x23\xe0\x67\xe0"
+            "\xe0\x22\x20\xf1\xe0\x48\xe0\xe0\x22\x20\xf1\xe0\x47"
+            "\xe0\x32\xc2\x20\xe0\x38\xe0\x23\xc2\xe0\x58\xe0\x23"
+            "\xe0\xe0\x57\xe0\x32\xe0\xe0\x67\xe0\x23\xe0\xe0\x58"
+            "\xe0\x23\xe0\xe0\x58\xe0\x14\xe0\xe0\x57\xe0\x14\xe0"
+            "\xe0\x67\xd6\xe0\x40\xf1\xe0\x1e\x0d\xe0\x40\xe0\x1e"
+            "\x0c\xe0\xe0\x67\xe5\xe0\x50\xf1\xe8\xe0\x14\xe0\x50"
+            "\xf1\xe7\xe0\x32\xe0\x60\xd8\xe0\x23\xe0\xe0\x58\xe0"
+            "\x23\xe2\xe0\x37\xe0\x32\xe0\x12\xe0\x37\xe0\x32\xe3"
+            "\xe0\x28\xe0\x32\xe2\xe0\x38\xe0\xe0\x52\xe0\x37\xe0"
+            "\xe0\x53\xe0\x37\xe0\xe0\x52\xe0\x38\xe0\xe0\x43\xe0"
+            "\x38\xe0\xe0\x42\x70\xf1\xb7\xe0\xe0\x43\x70\xa8\xe0"
+            "\xe0\x33\xe0\x48\xe0\xe0\x24\x80\xf1\xa7\xe0\xe0\x24"
+            "\x90\x98\xe0\xe6\xe0\x48\xe0\xd6\xe0\x57\xe0\xc8\xe0"
+            "\x48\xe0\x8b\xbf\x1e\x0e\x0e\x07\xbe\x0e\x0e\x06\xc7" }  },
+      /* --- pixel bitmap for cmmi600 char#70 F --- */
+      {  70, 8315,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 60,   57, 3,393, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\xde\x0e\x0e\x05\xe0\x78\xe0\x7a\xe0\x77\xe0\xb7"
+            "\xe0\x77\xe0\xc5\xe0\x78\xe0\xd4\xe0\x78\xe0\xe3\x10"
+            "\xf1\xe0\x67\xe0\xe0\x13\x10\xf1\xe0\x58\xe0\xe0\x13"
+            "\x10\xe0\x57\xe0\xe0\x23\xe0\x67\xe0\xe0\x22\x20\xf1"
+            "\xe0\x48\xe0\xe0\x22\x20\xe0\x47\xe0\xe0\x32\xe0\x67"
+            "\xe0\x32\xc2\xe0\x58\xe0\x23\xc2\xe0\x58\xe0\x23\xe0"
+            "\x20\xf1\xe0\x37\xe0\x32\xe0\x30\xf1\xe0\x28\xe0\x23"
+            "\xe0\x30\xe0\x27\xe0\x23\xe0\xe0\x67\xe0\x14\xe0\xe0"
+            "\x58\xd6\xe0\xe0\x5e\x0d\xe0\x40\xf1\xe0\x1e\x0c\xe0"
+            "\x50\xe8\xd6\xe0\xe0\x58\xe0\x14\xe0\x50\xf1\xe7\xe0"
+            "\x23\xe0\x60\xf1\xd8\xe0\x23\xe0\x60\xf1\xd7\xe0\x32"
+            "\xe0\x70\xf1\xc8\xe0\x23\xe0\x70\xf1\xc7\xe0\xe0\xd0"
+            "\xf1\xb8\xe0\xe0\xd0\xf1\xb7\xe0\xe0\xe0\xf1\xa8\xe0"
+            "\xe0\xe0\xf1\xa7\xe0\xe0\xe0\x10\xf1\x98\xe0\xe0\xe0"
+            "\x10\x97\xe0\xe0\xe0\xa9\xe0\xe0\xe0\x1f\x2e\x0c\xe0"
+            "\xe0\x63" }  },
+      /* --- pixel bitmap for cmmi600 char#71 G --- */
+      {  71, 9658,                      /* character number, location */
+         59, 4,   -2, 4,      /* topleft row,col, and botleft row,col */
+          { 59,   61, 3,467, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\x49\xe0\x13\xe0\xee\x02\xc3\xe0\xbe\x07\x93"
+            "\xe0\xaa\x95\x74\xe0\x89\xe4\x55\xe0\x77\xe0\x53\x36"
+            "\xe0\x58\xe0\x73\x16\xe0\x57\xe0\xa9\xe0\x38\xe0\xb9"
+            "\xe0\x27\xe0\xe8\xe0\x17\xe0\xe0\x26\xe0\x17\xe0\xe0"
+            "\x36\xe7\xe0\xe0\x46\xd7\xe0\xe0\x65\xc8\xe0\xe0\x64"
+            "\xc8\xe0\xe0\x74\xc7\xe0\xe0\x84\xb8\xe0\xe0\x84\xa8"
+            "\xe0\xe0\x93\xb7\xe0\xe0\xa3\xa8\xe0\xe0\xa3\x98\xe0"
+            "\xe0\xb3\x98\xe0\xe0\xb2\x99\xe0\xe0\xb2\x60\xf1\x38"
+            "\xe0\xe0\xe0\x60\xf2\x28\xe0\xe0\xe0\x70\x19\xe0\xe0"
+            "\xe0\x70\xf2\x18\xe0\xe0\xe0\x89\xe0\xe0\xe0\x88\xe0"
+            "\xe0\xe0\x9f\x28\xe0\xae\x09\x48\xe0\xe0\x59\x98\xe0"
+            "\xe0\x67\xa8\xe0\xe0\x58\xaf\x18\xe0\xe0\x57\xb0\x17"
+            "\xe0\xe0\x57\xb0\xf1\x17\xe0\xe0\x48\xb0\x18\xe0\xe0"
+            "\x37\xe7\xe0\xe0\x37\xe7\xe0\xe0\x28\xe0\x17\xe0\xe0"
+            "\x18\xe0\x17\xe0\xe0\x17\xe0\x37\xe0\xd8\xe0\x38\xe0"
+            "\xb9\xe0\x47\xe0\xb9\xe0\x58\xe0\x74\x15\xe0\x78\xe0"
+            "\x54\x25\xe0\x98\xe0\x14\x54\xe0\xaa\x96\x64\xe0\xce"
+            "\x07\x92\xe0\xe0\x1e\x03\xe0\xe0\xe0\x49\xe0\xe0\x47" }  },
+      /* --- pixel bitmap for cmmi600 char#72 H --- */
+      {  72,11121,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 71,   57, 3,451, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xde\x0b\x8e\x0b\xde\x0a\x9e\x0a\xe0\x88\xe0\xb8"
+            "\x90\xf1\xe0\x77\xe0\xc7\xa0\xe0\x68\xe0\xb8\xe0\xe0"
+            "\x28\xe0\xb7\xb0\xf1\xe0\x67\xe0\xc7\xb0\xe0\x58\xe0"
+            "\xb8\xe0\xe0\x28\xe0\xb7\xc0\xf1\xe0\x57\xe0\xc7\xc0"
+            "\xe0\x48\xe0\xb8\xe0\xe0\x28\xe0\xb7\xd0\xf1\xe0\x47"
+            "\xe0\xc7\xd0\xe0\x38\xe0\xb8\xe0\xe0\x28\xe0\xb7\xe0"
+            "\xf1\xe0\x37\xe0\xc7\xe0\xe0\x28\xe0\xb8\xe0\xe0\x28"
+            "\xe0\xb7\xe0\x10\xf1\xe0\x27\xe0\xc7\xe0\x10\xe0\x1e"
+            "\x0e\x0d\xe0\x10\xf1\xe0\x1e\x0e\x0c\xe0\x20\xe0\x17"
+            "\xe0\xc7\xe0\xe0\x28\xe0\xb8\xe0\xe0\x28\xe0\xb7\xe0"
+            "\x30\xf1\xe7\xe0\xc7\xe0\x30\xd8\xe0\xb8\xe0\xe0\x28"
+            "\xe0\xb7\xe0\x40\xf1\xd7\xe0\xc7\xe0\x40\xc8\xe0\xb8"
+            "\xe0\xe0\x28\xe0\xb7\xe0\x50\xf1\xc7\xe0\xc7\xe0\x50"
+            "\xb8\xe0\xb8\xe0\xe0\x28\xe0\xb7\xe0\x60\xf1\xb7\xe0"
+            "\xc7\xe0\x60\xa8\xe0\xb8\xe0\xe0\x28\xe0\xb7\xe0\x70"
+            "\xf1\xa7\xe0\xc7\xe0\x70\x98\xe0\xb8\xe0\xe0\x28\xe0"
+            "\xb7\xe0\xe0\x37\xe0\xc7\xe0\xe0\x29\xe0\xa9\xe0\x7f"
+            "\x2e\x0a\x9e\x0a\xee" }  },
+      /* --- pixel bitmap for cmmi600 char#73 I --- */
+      {  73,12074,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 39,   57, 3,235, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\xee\x0b\xf1\xe0\x88\x90\xe0\x87\xa0\xf1\xe0\x78"
+            "\xa0\xf1\xe0\x77\xb0\xf1\xe0\x68\xb0\xf1\xe0\x67\xc0"
+            "\xf1\xe0\x58\xc0\xf1\xe0\x57\xd0\xf1\xe0\x48\xd0\xf1"
+            "\xe0\x47\xe0\xf1\xe0\x38\xe0\xf1\xe0\x37\xe0\x10\xf1"
+            "\xe0\x28\xe0\x10\xf1\xe0\x27\xe0\x20\xf1\xe0\x18\xe0"
+            "\x20\xf1\xe0\x17\xe0\x30\xf1\xe8\xe0\x30\xf1\xe7\xe0"
+            "\x40\xf1\xd8\xe0\x40\xf1\xd7\xe0\x50\xf1\xc8\xe0\x50"
+            "\xf1\xc7\xe0\x60\xf1\xb8\xe0\x60\xf1\xb7\xe0\x70\xf1"
+            "\xa8\xe0\x70\xa7\xe0\xe0\x39\xe0\x7f\x1e\x0c\xde\x0b"
+            "\xe0" }  },
+      /* --- pixel bitmap for cmmi600 char#74 J --- */
+      {  74,13008,                      /* character number, location */
+         57, 7,   -2, 7,      /* topleft row,col, and botleft row,col */
+          { 46,   59, 3,275, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\xe0\x8e\x0a\xe0\xe0\x39\x60\xf1\xe0\xe0\x47\x70"
+            "\xe0\xe0\x38\x70\xf2\xe0\xe0\x37\x80\xe0\xe0\x28\x80"
+            "\xf2\xe0\xe0\x27\x90\xe0\xe0\x18\x90\xf2\xe0\xe0\x17"
+            "\xa0\xe0\xe8\xa0\xf2\xe0\xe7\xb0\xe0\xd8\xb0\xf2\xe0"
+            "\xd7\xc0\xe0\xc8\xc0\xf2\xe0\xc7\xd0\xe0\xb8\xd0\xf2"
+            "\xe0\xb7\xe0\xe0\xa8\xe0\xf2\xe0\xa7\xe0\x10\xf1\xe0"
+            "\x98\xe0\x10\xf1\xe0\x97\xe0\x20\xf1\xe0\x88\xe0\x20"
+            "\x26\xe7\xe0\x47\xe7\xe0\x47\xd8\xe0\x3f\x18\xd7\xe0"
+            "\x48\xc7\xe0\x56\xd8\xe0\x52\xe0\x37\xe0\x63\xe0\x17"
+            "\xe0\x82\xe7\xe0\x93\xc7\xe0\xb3\xa6\xe0\xe4\x67\xe0"
+            "\xe0\x3d\xe0\xe0\x78\xe0\xe0\x38" }  },
+      /* --- pixel bitmap for cmmi600 char#75 K --- */
+      {  75,14381,                      /* character number, location */
+         57, 4,    0, 4,      /* topleft row,col, and botleft row,col */
+          { 70,   57, 2,243, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x0d\x19\x0f\x11\x0d\x19\x0e\x12\x0d\x18\x0f\x12\x15"
+            "\x08\x1a\x0a\x1a\x07\x1c\x06\x1d\x07\x1c\x04\x1e\x08"
+            "\x1b\x04\x1f\x08\x1a\x03\x21\x07\x1a\x03\x22\x07\x19"
+            "\x03\x22\x08\x17\x03\x24\x08\x16\x03\x25\x07\x16\x03"
+            "\x26\x07\x14\x03\x27\x08\x13\x03\x28\x08\x12\x03\x29"
+            "\x07\x11\x04\x2a\x07\x10\x03\x2b\x08\x0f\x03\x2c\x08"
+            "\x0e\x03\x2d\x07\x0d\x03\x2f\x07\x0c\x03\x2f\x08\x0b"
+            "\x03\x30\x08\x09\x06\x2f\x07\x09\x07\x2f\x07\x08\x09"
+            "\x2d\x08\x07\x0a\x2d\x08\x05\x03\x02\x08\x2c\x07\x05"
+            "\x03\x03\x08\x2c\x07\x04\x03\x05\x07\x2b\x08\x02\x03"
+            "\x07\x08\x2a\x08\x01\x03\x08\x08\x2a\x07\x01\x03\x0a"
+            "\x08\x29\x0a\x0b\x08\x28\x09\x0e\x08\x27\x08\x0f\x08"
+            "\x27\x07\x11\x07\x27\x07\x11\x08\x25\x08\x11\x08\x25"
+            "\x08\x12\x08\x24\x07\x13\x08\x24\x07\x14\x07\x18\x00"
+            "\xff\x01\x0b\x08\x14\x08\x17\x00\xff\x01\x0b\x07\x16"
+            "\x08\x16\x00\xff\x01\x0a\x08\x17\x08\x15\x00\x0a\x07"
+            "\x19\x07\x1f\x07\x19\x08\x1d\x08\x19\x08\x1d\x08\x1a"
+            "\x08\x1c\x07\x1a\x09\x1b\x09\x18\x0b\x12\x18\x0d\x15"
+            "\x0c\x18\x0c\x16\x0c\x18\x0c\x15\x0d" }  },
+      /* --- pixel bitmap for cmmi600 char#76 L --- */
+      {  76,15572,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 51,   57, 3,319, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xde\x0d\xb0\xde\x0c\xe0\xe0\x59\xe0\xe0\xe8\xe0"
+            "\xe0\xe0\x17\xe0\x90\xf1\xe0\x68\xe0\x90\xf1\xe0\x67"
+            "\xe0\xa0\xf1\xe0\x58\xe0\xa0\xf1\xe0\x57\xe0\xb0\xf1"
+            "\xe0\x48\xe0\xb0\xf1\xe0\x47\xe0\xc0\xf1\xe0\x38\xe0"
+            "\xc0\xf1\xe0\x37\xe0\xd0\xf1\xe0\x28\xe0\xd0\xf1\xe0"
+            "\x27\xe0\xe0\xf1\xe0\x18\xe0\xe0\xf1\xe0\x17\xe0\xe0"
+            "\x10\xf1\xe8\xe0\xe0\x10\xf1\xe7\xe0\xe0\x20\xd8\xe0"
+            "\xe0\xe0\x18\xe0\xe0\x11\xf1\xd7\xe0\xe0\x12\xc8\xe0"
+            "\xe3\xc8\xe0\xe2\x10\xf1\xc7\xe0\xe3\x10\xb8\xe0\xe2"
+            "\xd8\xe0\xd3\x20\xf1\xb7\xe0\xd3\x30\xa8\xe0\xc4\xd8"
+            "\xe0\xb4\xe7\xe0\xc4\xe7\xe0\xb5\xd8\xe0\x96\xe8\xe0"
+            "\x87\xe7\xe0\x79\xd8\xe0\x3c\x6f\x1e\x0e\x0e\x03\x6e"
+            "\x0e\x0e\x02\x78" }  },
+      /* --- pixel bitmap for cmmi600 char#77 M --- */
+      {  77,17076,                      /* character number, location */
+         57, 4,    0, 4,      /* topleft row,col, and botleft row,col */
+          { 83,   57, 3,727, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xde\x02\xe0\xe0\xae\x02\xde\x02\xe0\xe0\x9e\x03\xde"
+            "\x03\xe0\xe0\x8e\x02\xe0\x89\xe0\xe0\x79\x90\xf1\xe0"
+            "\x72\x16\xe0\xe0\x62\x16\xa0\xe0\x63\x16\xe0\xe0\x52"
+            "\x17\xe0\xe0\x23\x16\xe0\xe0\x42\x26\xe0\xe0\x32\x26"
+            "\xe0\xe0\x42\x26\xe0\xe0\x32\x36\xe0\xe0\x22\x36\xe0"
+            "\xe0\x23\x36\xe0\xe0\x22\x27\xe0\xe0\x23\x36\xe0\xe0"
+            "\x12\x36\xc0\xf1\xe0\x52\x46\xe0\xe2\x46\xc0\xe0\x43"
+            "\x46\xe0\xd2\x47\xe0\xe0\x23\x46\xe0\xc2\x56\xe0\xe0"
+            "\x32\x56\xe0\xc2\x56\xe0\xe0\x32\x66\xe0\xa2\x66\xe0"
+            "\xe0\x23\x66\xe0\x92\x67\xe0\xe0\x23\x66\xe0\x92\x66"
+            "\xe0\xf1\xe0\x32\x76\xe0\x82\x76\xe0\xe0\x23\x76\xe0"
+            "\x72\x77\xe0\xe0\x23\x76\xe0\x62\x86\xe0\xe0\x32\x96"
+            "\xe0\x52\x86\xe0\xe0\x32\x96\xe0\x42\x96\xe0\xe0\x23"
+            "\x96\xe0\x32\x97\xe0\xe0\x23\x96\xe0\x32\x96\xe0\xe0"
+            "\x32\xa6\xe0\x22\xa6\xe0\xe0\x32\xa6\xe0\x12\xb6\xe0"
+            "\xe0\x23\xa6\xe0\x12\xa7\xe0\xe0\x23\xb6\xd2\xb6\xe0"
+            "\xe0\x32\xc6\xd2\xb6\xe0\xe0\x32\xc6\xc2\xc6\xe0\xe0"
+            "\x23\xc6\xb2\xc7\xe0\xe0\x23\xc6\xb2\xc6\xe0\xe0\x32"
+            "\xd6\xa2\xd6\xe0\xe0\x32\xd6\x92\xe6\xe0\xe0\x23\xd6"
+            "\x92\xd7\xe0\xe0\x23\xe6\x72\xe6\xe0\x50\xf1\xc2\xe0"
+            "\x16\x62\xe0\x16\xe0\x50\xb3\xe0\x16\x52\xe0\x17\xe0"
+            "\xe0\x23\xe0\x16\x52\xe0\x16\xe0\xe0\x32\xe0\x26\x42"
+            "\xe0\x26\xe0\xe0\x32\xe0\x26\x32\xe0\x36\xe0\xe0\x23"
+            "\xe0\x36\x22\xe0\x27\xe0\xe0\x23\xe0\x36\x12\xe0\x36"
+            "\xe0\x70\xf1\xa2\xe0\x48\xe0\x46\xe0\x70\x93\xe0\x47"
+            "\xe0\x47\xe0\xe0\x23\xe0\x46\xe0\x56\xe0\xe0\x16\xe0"
+            "\x36\xe0\x56\xe0\xd9\xe0\x34\xe0\x58\xe0\x7e\x05\xc4"
+            "\xbe\x09\xee\x05\xc3\xce\x09\xee\x05\xc2\xde\x09\xe0" }  },
+      /* --- pixel bitmap for cmmi600 char#78 N --- */
+      {  78,18646,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 71,   57, 3,615, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xde\x02\xe0\x8e\x06\xde\x03\xe0\x7e\x06\xde\x03\xe0"
+            "\x7e\x05\xe0\x8a\xe0\xb9\xe0\xda\xe0\xd5\xe0\xe0\x12"
+            "\x17\xe0\xd4\xe0\xe0\x13\x18\xe0\xc3\xe0\xe0\x23\x27"
+            "\xe0\xc3\xe0\xe0\x22\x38\xe0\xb2\xe0\xe0\x32\x47\xe0"
+            "\xb2\xe0\xe0\x23\x48\xe0\x93\xe0\xe0\x23\x48\xe0\x92"
+            "\xc0\xf1\xe0\x52\x68\xe0\x82\xc0\xe0\x43\x77\xe0\x73"
+            "\xe0\xe0\x23\x78\xe0\x62\xe0\xe0\x32\x97\xe0\x62\xe0"
+            "\xe0\x32\x98\xe0\x52\xe0\xe0\x23\x98\xe0\x43\xe0\xe0"
+            "\x23\xa8\xe0\x32\xe0\xe0\x32\xb8\xe0\x32\xe0\xe0\x32"
+            "\xc7\xe0\x32\xe0\xe0\x23\xc8\xe0\x13\xe0\xe0\x23\xd7"
+            "\xe0\x12\xe0\xe0\x32\xe8\xe2\xe0\xe0\x32\xe0\x17\xe2"
+            "\xe0\xe0\x23\xe0\x18\xc3\xe0\xe0\x23\xe0\x18\xc2\xe0"
+            "\x20\xf1\xe0\x12\xe0\x38\xb2\xe0\x20\xe3\xe0\x47\xa3"
+            "\xe0\xe0\x23\xe0\x48\x92\xe0\xe0\x32\xe0\x67\x92\xe0"
+            "\xe0\x32\xe0\x68\x82\xe0\xe0\x23\xe0\x77\x73\xe0\xe0"
+            "\x23\xe0\x78\x62\xe0\xe0\x32\xe0\x88\x62\xe0\xe0\x32"
+            "\xe0\x98\x52\xe0\xe0\x23\xe0\x98\x43\xe0\xe0\x23\xe0"
+            "\xa7\x42\xe0\xe0\x32\xe0\xb8\x32\xe0\xe0\x32\xe0\xc7"
+            "\x32\xe0\xe0\x23\xe0\xc8\x13\xe0\xe0\x23\xe0\xd7\x12"
+            "\xe0\x60\xf1\xb2\xe0\xea\xe0\x60\xa3\xe0\xe0\x19\xe0"
+            "\xe0\x23\xe0\xe0\x18\xe0\x70\xf1\xa2\xe0\xe0\x37\xe0"
+            "\x70\x93\xe0\xe0\x46\xe0\xe0\x23\xe0\xe0\x45\xe0\xe0"
+            "\x16\xe0\xe0\x35\xe0\xd9\xe0\xe0\x34\xe0\x8e\x05\xe0"
+            "\xc4\xe0\x8f\x1e\x05\xe0\xd2\xe0\x90" }  },
+      /* --- pixel bitmap for cmmi600 char#79 O --- */
+      {  79,19779,                      /* character number, location */
+         59, 4,   -2, 4,      /* topleft row,col, and botleft row,col */
+          { 57,   61, 2,209, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x1f\x0a\x2b\x11\x26\x07\x08\x06\x22\x06\x0d\x06\x1e"
+            "\x06\x11\x05\x1b\x06\x14\x06\x18\x05\x17\x06\x15\x06"
+            "\x19\x05\x14\x06\x1a\x06\x12\x06\x1c\x06\x10\x06\x1d"
+            "\x06\x0f\x06\x1f\x06\x0d\x06\x20\x06\x0c\x07\x20\x07"
+            "\x0a\x07\x21\x07\x09\x07\x23\x06\x09\x07\x23\x07\x07"
+            "\x07\x24\x07\xff\x01\x06\x07\x25\x07\xff\x01\x05\x07"
+            "\x26\x07\x04\x08\x26\x07\x04\x07\x27\x07\xff\x01\x03"
+            "\x08\x26\x08\xff\x02\x02\x08\x27\x08\xff\x03\x01\x08"
+            "\x27\x08\x01\x09\x26\x08\x02\xff\x01\x08\x27\x08\x02"
+            "\xff\x01\x08\x26\x08\x03\xff\x01\x08\x25\x08\x04\x08"
+            "\x25\x07\x05\x08\x24\x08\x05\x08\x23\x08\x06\x08\x23"
+            "\x07\x08\x07\x22\x08\x08\x07\x22\x07\x09\x07\x21\x07"
+            "\x0a\x07\x20\x07\x0c\x07\x1f\x06\x0d\x07\x1e\x06\x0f"
+            "\x06\x1d\x06\x10\x07\x1b\x06\x12\x06\x1a\x06\x14\x06"
+            "\x18\x06\x16\x06\x15\x07\x18\x06\x13\x06\x1b\x06\x10"
+            "\x07\x1d\x06\x0d\x07\x21\x07\x07\x08\x25\x11\x2b\x0a"
+            "\x1f" }  },
+      /* --- pixel bitmap for cmmi600 char#80 P --- */
+      {  80,21132,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 59,   57, 3,355, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xee\x0e\x06\xe0\xae\x0e\x0a\xe0\x7e\x0e\x0c\xe0\xd8"
+            "\xe0\x29\xe0\xc7\xe0\x67\xe0\xb7\xe0\x77\xe0\x98\xe0"
+            "\x87\xe0\x88\xe0\x97\x10\xf1\xe0\x67\xe0\xa7\x10\xf1"
+            "\xe0\x58\xe0\xa8\xf1\xe0\x57\xe0\xb8\xe0\x48\xe0\xb8"
+            "\xe0\x48\xe0\xa8\x10\xf1\xe0\x47\xe0\xb8\x10\xf1\xe0"
+            "\x38\xe0\xa8\x20\xe0\x37\xe0\xb7\xe0\x67\xe0\xa7\xe0"
+            "\x68\xe0\x97\xe0\x78\xe0\x96\xe0\x87\xe0\x87\xe0\x97"
+            "\xe0\x77\xe0\x98\xe0\x58\xe0\xa8\xe0\x29\xe0\xce\x0e"
+            "\x03\xe0\xee\x0e\xe0\x20\xf1\xe8\xe0\xe0\x90\xf1\xe7"
+            "\xe0\xe0\xa0\xf1\xd8\xe0\xe0\xa0\xf1\xd7\xe0\xe0\xb0"
+            "\xf1\xc8\xe0\xe0\xb0\xf1\xc7\xe0\xe0\xc0\xf1\xb8\xe0"
+            "\xe0\xc0\xf1\xb7\xe0\xe0\xd0\xf1\xa8\xe0\xe0\xd0\xf1"
+            "\xa7\xe0\xe0\xe0\xf1\x98\xe0\xe0\xe0\x97\xe0\xe0\xe0"
+            "\x99\xe0\xe0\xef\x2e\x0a\xe0\xe0\x76" }  },
+      /* --- pixel bitmap for cmmi600 char#81 Q --- */
+      {  81,22311,                      /* character number, location */
+         59, 4,  -16, 4,      /* topleft row,col, and botleft row,col */
+          { 57,   75, 3,555, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\x3a\xe0\xe0\xe0\x1e\x03\xe0\xe0\xa7\x77\xe0"
+            "\xe0\x66\xd6\xe0\xe0\x26\xe0\x26\xe0\xd6\xe0\x66\xe0"
+            "\xa6\xe0\x86\xe0\x76\xe0\xa6\xe0\x66\xe0\xc6\xe0\x46"
+            "\xe0\xe6\xe0\x26\xe0\xe0\x16\xe0\x16\xe0\xe0\x27\xd7"
+            "\xe0\xe0\x36\xc7\xe0\xe0\x47\xa7\xe0\xe0\x57\x97\xe0"
+            "\xe0\x67\x97\xe0\xe0\x68\x77\xe0\xe0\x87\x68\xe0\xe0"
+            "\x87\x67\xe0\xe0\x97\x58\xe0\xe0\x97\x57\xe0\xe0\xa7"
+            "\x48\xe0\xe0\xa7\x47\xe0\xe0\xa8\xf1\x38\xe0\xe0\xa8"
+            "\xf2\x28\xe0\xe0\xb8\xf3\x18\xe0\xe0\xb8\x1f\x28\xe0"
+            "\xe0\xb8\x2f\x18\xe0\xe0\xa8\x38\xe0\xe0\xa7\x48\xe0"
+            "\xe0\x98\x48\xe0\xe0\x97\x58\xe0\xe0\x88\x58\xe0\xe0"
+            "\x87\x68\xe0\xe0\x77\x87\xe0\xe0\x77\x87\xe0\xe0\x67"
+            "\x97\xe0\xe0\x57\xa7\xe5\xe6\xc6\xc9\xb6\xd7\xa3\x53"
+            "\x96\xe0\x16\x93\x72\x86\xe0\x27\x73\x83\x66\xe0\x46"
+            "\x72\xa2\x56\xe0\x66\x53\xa2\x46\xe0\x86\x42\xb2\x36"
+            "\xe0\xa6\x32\xb9\xe0\xd6\x22\xb8\xe0\xe0\x16\x13\x97"
+            "\xe0\xe0\x58\x68\xe2\xe0\x7e\x05\xe0\x12\xe0\xaa\x33"
+            "\xe3\xe0\xe0\x93\xe2\xe0\xe0\xa4\xc3\xe0\xe0\xa4\xb4"
+            "\xe0\xe0\xa4\xa4\xe0\xe0\xb5\x85\xe0\xe0\xb6\x56\xe0"
+            "\xe0\xce\x03\xb0\xf1\xe0\xe0\x1e\x02\xc0\xe0\xe0\x1e"
+            "\x01\xe0\xe0\xee\xe0\xe0\xe0\x2c\xe0\xe0\xe0\x49\xe0"
+            "\xe0\xe0\x85\xe0\x56" }  },
+      /* --- pixel bitmap for cmmi600 char#82 R --- */
+      {  82,23942,                      /* character number, location */
+         57, 3,   -2, 3,      /* topleft row,col, and botleft row,col */
+          { 60,   59, 3,445, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xde\x0e\x05\xe0\xde\x0e\x08\xe0\xae\x0e\x0b\xe0\xe0"
+            "\x18\xe0\x19\xe0\xe7\xe0\x58\xe0\xc7\xe0\x68\x40\xf1"
+            "\xe0\x68\xe0\x87\x30\xf1\xe0\x67\xe0\xa7\x20\xf1\xe0"
+            "\x58\xe0\xa8\x10\xf1\xe0\x57\xe0\xb8\x10\xe0\x48\xe0"
+            "\xb8\xe0\x58\xe0\xa8\x20\xf1\xe0\x47\xe0\xb8\x20\xe0"
+            "\x38\xe0\xa8\xe0\x68\xe0\xa7\xe0\x77\xe0\xa7\xe0\x87"
+            "\xe0\x97\xe0\x88\xe0\x87\xe0\x98\xe0\x77\xe0\xa7\xe0"
+            "\x76\xe0\xc7\xe0\x47\xe0\xd8\xe0\x18\xe0\xe0\x1e\x0e"
+            "\xe0\xe0\x4e\x0c\xe0\xe0\x67\xe7\xe0\xe0\x38\xe0\x27"
+            "\xe0\xe0\x18\xe0\x46\xe0\xe7\xe0\x57\xe0\xd7\xe0\x67"
+            "\xe0\xb8\xe0\x67\xe0\xb8\xe0\x76\xe0\xb7\xe0\x86\xe0"
+            "\xb7\xe0\x87\xe0\x98\xe0\x78\xe0\x98\xe0\x77\xc0\xf1"
+            "\xc7\xe0\x87\xc0\xf1\xb8\xe0\x78\xc0\xf1\xb7\xe0\x88"
+            "\xc0\xa8\xe0\x88\xe0\x88\xe0\x79\xc0\xf1\xa7\xe0\x88"
+            "\xb2\x98\xe0\x88\xa3\x98\xe0\x88\xa2\xa7\xe0\x98\x93"
+            "\x99\xe0\x97\x92\x2e\x0a\xe0\x27\x83\x2e\x0a\xe0\x37"
+            "\x63\x3e\x0a\xe0\x46\x53\xe0\xe0\xe0\x6b\xe0\xe0\xe0"
+            "\x97\x70" }  },
+      /* --- pixel bitmap for cmmi600 char#83 S --- */
+      {  83,25221,                      /* character number, location */
+         59, 5,   -2, 5,      /* topleft row,col, and botleft row,col */
+          { 49,   61, 3,381, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xc9\xb3\xe0\x9e\x92\xe0\x8e\x04\x63\xe0\x76\x86"
+            "\x44\xe0\x56\xd4\x25\xe0\x45\xe0\x29\xe0\x45\xe0\x48"
+            "\xe0\x35\xe0\x67\xe0\x25\xe0\x86\xe0\x24\xe0\x95\xe0"
+            "\x25\xe0\xa4\x30\xf1\xc5\xe0\xb4\x30\xb6\xe0\xb3\x40"
+            "\xf2\xb5\xe0\xc3\x40\xf1\xa6\xe0\xc2\x50\xa7\xe0\xb2"
+            "\xe0\x17\xe0\xe0\x40\xf1\xa8\xe0\xe0\x30\xb9\xe0\xe0"
+            "\xcc\xe0\xe0\x9e\x01\xe0\xe0\x7e\x04\xe0\xe0\x3e\x07"
+            "\xe0\xe0\x1e\x08\xe0\xee\x09\xe0\xee\x08\xe0\xe0\x1e"
+            "\x06\xe0\xe0\x5e\x03\xe0\xe0\x7e\xe0\xe0\xbb\xe0\xe0"
+            "\xc9\xe0\xe0\xd8\xe0\xe0\xe7\x90\xf2\xe0\xe0\x66\x90"
+            "\xf2\x42\xe0\xe0\x15\x90\x33\xe0\xe6\x90\xf2\x33\xe0"
+            "\xe5\xa0\xf1\x24\xe0\xd5\xb0\x24\xe0\xc5\xe5\xe0\xa5"
+            "\xe6\xe0\xa5\xe7\xe0\x85\xe0\x18\xe0\x65\xe0\x29\xe0"
+            "\x45\xe0\x25\x25\xe6\xe0\x34\x47\x96\xe0\x53\x7e\x05"
+            "\xe0\x63\x9e\x01\xe0\x82\xd9\xe0\xb2" }  },
+      /* --- pixel bitmap for cmmi600 char#84 T --- */
+      {  84,26451,                      /* character number, location */
+         57, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 56,   57, 3,383, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\x6e\x0e\x0e\x08\x5e\x0e\x0e\x09\x58\xe8\xd8\x55"
+            "\xe0\x37\xe0\x26\x45\xe0\x47\xe0\x34\x54\xe0\x48\xe0"
+            "\x43\x44\xe0\x58\xe0\x43\x10\xf1\x33\xe0\x67\xe0\x53"
+            "\x10\xf1\x23\xe0\x68\xe0\x53\x10\x22\xe0\x77\xe0\x63"
+            "\x23\xe0\x77\xe0\x62\x32\xe0\x78\xe0\x62\x23\xe0\x78"
+            "\xe0\x62\x2f\x12\xe0\x87\xe0\x72\x22\xe0\x78\xe0\x72"
+            "\xe0\xb8\xe0\xb0\xf1\xe0\x97\xe0\xc0\xf1\xe0\x88\xe0"
+            "\xc0\xf1\xe0\x87\xe0\xd0\xf1\xe0\x78\xe0\xd0\xf1\xe0"
+            "\x77\xe0\xe0\xf1\xe0\x68\xe0\xe0\xf1\xe0\x67\xe0\xe0"
+            "\x10\xf1\xe0\x58\xe0\xe0\x10\xf1\xe0\x57\xe0\xe0\x20"
+            "\xf1\xe0\x48\xe0\xe0\x20\xf1\xe0\x47\xe0\xe0\x30\xf1"
+            "\xe0\x38\xe0\xe0\x30\xf1\xe0\x37\xe0\xe0\x40\xf1\xe0"
+            "\x28\xe0\xe0\x40\xf1\xe0\x27\xe0\xe0\x50\xf1\xe0\x18"
+            "\xe0\xe0\x50\xe0\x17\xe0\xe0\xe0\x5a\xe0\xe0\x50\xf1"
+            "\x2e\x0e\x04\xe0\x80\x2e\x0e\x03\xe0\x97" }  },
+      /* --- pixel bitmap for cmmi600 char#85 U --- */
+      {  85,27631,                      /* character number, location */
+         57, 5,   -2, 5,      /* topleft row,col, and botleft row,col */
+          { 59,   59, 2,245, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xff\x01\x01\x19\x0d\x14\x01\x18\x0e\x13\x0a\x08\x1b"
+            "\x09\x0f\x07\x1e\x05\x11\x07\x1e\x04\x09\x00\xff\x01"
+            "\x08\x08\x1e\x03\x0a\x00\xff\x01\x08\x07\x1f\x02\x0b"
+            "\x00\x07\x08\x1e\x03\x12\x08\x1e\x02\x0c\x00\xff\x01"
+            "\x07\x07\x1f\x02\x0c\x00\x06\x08\x1e\x03\x12\x08\x1e"
+            "\x02\x0d\x00\xff\x01\x06\x07\x1f\x02\x0d\x00\x05\x08"
+            "\x1e\x03\x12\x08\x1e\x02\x0e\x00\xff\x01\x05\x07\x1f"
+            "\x02\x0e\x00\x04\x08\x1e\x03\x12\x08\x1e\x02\x0f\x00"
+            "\xff\x01\x04\x07\x1f\x02\x0f\x00\x03\x08\x1e\x03\x12"
+            "\x08\x1e\x02\x10\x00\xff\x01\x03\x07\x1f\x02\x10\x00"
+            "\x02\x08\x1e\x03\x12\x08\x1e\x02\x11\x00\xff\x01\x02"
+            "\x07\x1f\x02\x11\x00\x01\x08\x1e\x03\x12\x08\x1e\x02"
+            "\x12\x00\xff\x01\x01\x07\x1f\x02\x12\x00\x01\x07\x1e"
+            "\x03\x12\x08\x1e\x02\x13\x07\x1f\x02\x13\x07\x1e\x03"
+            "\x13\x07\x1e\x02\x14\x07\x1d\x03\x14\x07\x1d\x02\x15"
+            "\x07\x1c\x03\x15\x07\x1b\x03\x17\x06\x1b\x03\x17\x06"
+            "\x1a\x03\x18\x07\x18\x03\x1a\x06\x17\x03\x1b\x07\x15"
+            "\x03\x1d\x06\x13\x04\x1f\x06\x11\x04\x21\x06\x0e\x05"
+            "\x23\x08\x07\x07\x27\x12\x2b\x0e\x30\x08\x26" }  },
+      /* --- pixel bitmap for cmmi600 char#86 V --- */
+      {  86,28753,                      /* character number, location */
+         57, 4,   -2, 4,      /* topleft row,col, and botleft row,col */
+          { 59,   59, 3,467, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x1e\x08\xe0\x5e\x0e\x0c\xe0\x5e\x0e\x0b\xe0\x6e\x03"
+            "\x79\xe0\xe0\x28\xc8\xe0\xe0\x45\xe0\x17\xe0\xe0\x44"
+            "\xe0\x27\xe0\xe0\x43\xe0\x37\xe0\xe0\x42\xa0\xf1\x87"
+            "\xe0\xe0\x32\xb0\x87\xe0\xe0\x22\xc0\xf1\x88\xe0\xe2"
+            "\xd0\x97\xe0\xd2\xe0\x97\xe0\xc3\xe0\x97\xe0\xc2\xe0"
+            "\x10\xf1\x97\xe0\xb2\xe0\x20\x97\xe0\xa2\xe0\x30\xf1"
+            "\x98\xe0\x82\xe0\x40\xa7\xe0\x72\xe0\xe0\x17\xe0\x63"
+            "\xe0\xe0\x17\xe0\x62\xe0\x60\xf1\xa7\xe0\x52\xe0\x70"
+            "\xa7\xe0\x42\xe0\x80\xf1\xa8\xe0\x22\xe0\x90\xb7\xe0"
+            "\x12\xe0\xe0\x77\xe3\xe0\xe0\x77\xe2\xe0\xe0\x87\xd2"
+            "\xe0\xe0\x97\xc3\xe0\xe0\x98\xb2\xe0\xe0\xa8\xa2\xe0"
+            "\xe0\xc7\xa2\xe0\xe0\xc7\x92\xe0\xe0\x10\xf1\xc7\x82"
+            "\xe0\xe0\x20\xc7\x72\xe0\xe0\xe0\x17\x63\xe0\xe0\xe0"
+            "\x18\x52\xe0\xe0\xe0\x28\x42\xe0\xe0\xe0\x47\x42\xe0"
+            "\xe0\xe0\x47\x32\xe0\xe0\x60\xf1\xd7\x22\xe0\xe0\x70"
+            "\xd7\x12\xe0\xe0\xe0\x7a\xe0\xe0\xe0\x79\xe0\xe0\xe0"
+            "\x88\xe0\xe0\xe0\xa7\xe0\xe0\xe0\xa6\xe0\xe0\xb0\xf1"
+            "\xe5\xe0\xe0\xc0\xf1\xe4\xe0\xe0\xd0\xe3\xe0\xe0\xe8" }  },
+      /* --- pixel bitmap for cmmi600 char#87 W --- */
+      {  87,30317,                      /* character number, location */
+         57, 4,   -2, 4,      /* topleft row,col, and botleft row,col */
+          { 82,   59, 3,719, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x1e\x07\xae\x08\xbe\x0e\x0b\xae\x08\xbe\x0e\x0b\xae"
+            "\x07\xce\x03\x6a\xe0\x89\xe0\x89\xb7\xe0\xa8\xe0\xa6"
+            "\xd7\xe0\xa7\xe0\xc4\xe7\xe0\xa8\xe0\xb3\xe0\x17\xe0"
+            "\xb7\xe0\xb2\xe0\x27\xe0\xb7\xe0\xa2\xe0\x37\xe0\xa8"
+            "\xe0\xa2\xa0\xf1\x77\xe0\x99\xe0\x92\xb0\x77\xe0\x82"
+            "\x17\xe0\x82\xe0\x57\xe0\x82\x17\xe0\x73\xe0\x57\xe0"
+            "\x72\x27\xe0\x72\xe0\x67\xe0\x72\x27\xe0\x62\xe0\x78"
+            "\xe0\x52\x37\xe0\x62\xe0\x78\xe0\x52\x37\xe0\x52\xe0"
+            "\x97\xe0\x42\x47\xe0\x52\xe0\x97\xe0\x32\x57\xe0\x42"
+            "\xe0\xa7\xe0\x32\x57\xe0\x33\xe0\xa7\xe0\x22\x68\xe0"
+            "\x22\xe0\xb7\xe0\x22\x68\xe0\x12\xe0\xc7\xe0\x12\x87"
+            "\xe0\x12\xe0\xc7\xe0\x12\x87\xe2\xe0\xd7\xe2\x97\xe2"
+            "\xe0\xd7\xd3\x97\xd2\xe0\xe7\xd2\xa7\xd2\xe0\xe7\xc2"
+            "\xb7\xc2\xe0\xe0\x17\xc2\xb7\xb3\xe0\xe0\x17\xb2\xc7"
+            "\xb2\xe0\xe0\x27\xb2\xc7\xa2\xe0\xe0\x38\x92\xd7\xa2"
+            "\xe0\xe0\x47\x83\xd7\x92\xe0\xe0\x57\x82\xe7\x92\xe0"
+            "\xe0\x57\x72\xe0\x17\x82\xe0\xe0\x67\x72\xe0\x17\x73"
+            "\xe0\xe0\x67\x62\xe0\x28\x62\xe0\xe0\x77\x62\xe0\x28"
+            "\x52\xe0\xe0\x87\x52\xe0\x47\x52\xe0\xe0\x87\x52\xe0"
+            "\x47\x42\xe0\xe0\x97\x42\xe0\x57\x42\xe0\xe0\x97\x33"
+            "\xe0\x57\x32\xe0\xe0\xa7\x32\xe0\x67\x32\xe0\xe0\xa7"
+            "\x22\xe0\x77\x22\xe0\xe0\xb7\x22\xe0\x77\x12\xe0\xe0"
+            "\xc7\x12\xe0\x87\x12\xe0\xe0\xca\xe0\x89\xe0\xe0\xd9"
+            "\xe0\x99\xe0\xe0\xe8\xe0\x98\xe0\xe0\xe0\x17\xe0\xa8"
+            "\xe0\xe0\x50\xf1\xa6\xe0\xb7\xe0\xe0\x60\xa5\xe0\xc6"
+            "\xe0\xe0\xe0\x35\xe0\xc5\xe0\xe0\xe0\x44\xe0\xe4\xe0"
+            "\xe0\xe0\x44\xe0\xe3\xe0\xe0\xe0\x53\xe0\xe0\x13\xe0"
+            "\xe0\xe0\x52\xe0\xe0\x22\xe0\xe0\xa5" }  },
+      /* --- pixel bitmap for cmmi600 char#88 X --- */
+      {  88,31852,                      /* character number, location */
+         57, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 68,   57, 2,213, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xff\x01\x0f\x17\x0b\x13\x0f\x16\x0c\x13\x16\x0b\x13"
+            "\x0b\x1c\x09\x15\x07\x1f\x08\x17\x04\x22\x08\x15\x04"
+            "\x23\x08\x15\x02\x25\x08\x14\x02\x27\x08\x12\x02\x28"
+            "\x08\x11\x02\x2a\x08\x0f\x02\x2b\x08\x0e\x02\x2d\x07"
+            "\x0d\x03\x2d\x08\x0b\x03\x2e\x08\x0a\x03\x30\x08\x08"
+            "\x03\x31\x08\x07\x03\x33\x07\x06\x03\x34\x08\x05\x02"
+            "\x35\x08\x04\x02\x37\x08\x02\x02\x38\x08\x01\x02\x3a"
+            "\x09\x3b\x08\x3d\x07\x1d\x00\xff\x01\x20\x08\x1c\x00"
+            "\x21\x08\x3b\x09\x3a\x0a\x39\x03\x01\x08\x37\x03\x02"
+            "\x08\x37\x02\x04\x08\x35\x02\x05\x08\x34\x02\x07\x08"
+            "\x32\x02\x08\x08\x31\x02\x0a\x07\x30\x02\x0b\x08\x2e"
+            "\x02\x0c\x08\x2d\x02\x0e\x08\x2b\x03\x0e\x08\x2a\x03"
+            "\x10\x07\x29\x03\x11\x08\x27\x03\x12\x08\x26\x03\x14"
+            "\x08\x24\x03\x15\x08\x24\x02\x17\x08\x21\x03\x18\x08"
+            "\x20\x03\x19\x08\x1f\x04\x1a\x08\x1d\x04\x1b\x08\x1b"
+            "\x07\x1a\x09\x17\x0a\x18\x0c\x11\x13\x10\x16\x0a\xff"
+            "\x01\x14\x10\x16\x0a" }  },
+      /* --- pixel bitmap for cmmi600 char#89 Y --- */
+      {  89,33114,                      /* character number, location */
+         57, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 60,   57, 2,187, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xff\x01\x00\x17\x14\x11\x00\x16\x15\x11\x07\x0a\x1d"
+            "\x09\x0c\x09\x1f\x05\x10\x08\x1f\x04\x11\x08\x1e\x04"
+            "\x13\x08\x1d\x03\x14\x08\x1c\x03\x15\x08\x1b\x03\x17"
+            "\x08\x19\x03\x18\x08\x18\x03\x1a\x08\x17\x02\x1b\x08"
+            "\x16\x02\x1c\x08\x15\x02\x1e\x08\x13\x02\x1f\x08\x12"
+            "\x03\x1f\x08\x11\x03\x21\x08\x0f\x03\x22\x08\x0f\x02"
+            "\x24\x08\x0d\x02\x25\x08\x0c\x02\x26\x08\x0b\x02\x28"
+            "\x08\x09\x03\x28\x08\x08\x03\x29\x08\x08\x02\x2b\x08"
+            "\x06\x02\x2c\x08\x05\x02\x2e\x08\x03\x02\x2f\x08\x02"
+            "\x02\x30\x08\x01\x03\x31\x0a\x32\x09\x33\x08\x35\x06"
+            "\x23\x00\xff\x02\x12\x07\x23\x00\x12\x06\x24\x00\xff"
+            "\x02\x11\x07\x24\x00\x11\x06\x25\x00\xff\x02\x10\x07"
+            "\x25\x00\x10\x06\x26\x00\xff\x02\x0f\x07\x26\x00\x0f"
+            "\x06\x27\x00\xff\x01\x0e\x07\x27\x00\x0d\x08\x27\x00"
+            "\xff\x02\x05\x18\x1f" }  },
+      /* --- pixel bitmap for cmmi600 char#90 Z --- */
+      {  90,34361,                      /* character number, location */
+         57, 5,    0, 5,      /* topleft row,col, and botleft row,col */
+          { 55,   57, 2,187, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xff\x01\x10\x27\x0f\x28\x0f\x0c\x13\x08\x10\x08\x16"
+            "\x08\x10\x07\x17\x08\x11\x06\x17\x08\x12\x05\x17\x08"
+            "\x13\x04\x17\x08\x13\x04\x17\x08\x14\x03\x18\x08\x14"
+            "\x03\x17\x08\x14\x03\x17\x08\x15\x03\x16\x08\x16\x02"
+            "\x16\x08\x16\x03\x15\x08\x17\x02\x15\x08\x18\x02\x14"
+            "\x08\x19\x02\x13\x08\x2f\x08\x2e\x08\x2e\x08\x2e\x08"
+            "\x2e\x08\x2e\x08\x2e\x08\x2e\x08\x2f\x07\x2f\x08\x2e"
+            "\x08\x2e\x08\x2e\x08\x2e\x08\x2e\x08\x2e\x08\x1d\x00"
+            "\xff\x01\x11\x08\x14\x02\x08\x00\x10\x08\x15\x02\x17"
+            "\x08\x15\x03\x16\x08\x16\x02\x16\x08\x17\x02\x15\x08"
+            "\x17\x03\x14\x08\x18\x02\x14\x08\x18\x03\x13\x08\x19"
+            "\x03\x13\x08\x18\x04\x12\x08\x19\x03\x12\x08\x19\x04"
+            "\x11\x08\x19\x05\x10\x08\x19\x05\x10\x08\x19\x06\x0f"
+            "\x08\x19\x07\x0e\x08\x18\x08\x0f\x07\x15\x0c\x0e\x29"
+            "\x0d\x2a\x0d\x29\x0e" }  },
+      /* --- pixel bitmap for cmmi600 char#91 \flat --- */
+      {  91,136575,                     /* character number, location */
+         62, 5,   -2, 5,      /* topleft row,col, and botleft row,col */
+          { 22,   64, 3,137, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xfe\x02\xe0\x6f\x72\xe0\x62\x82\xa2\x4a\x62\x2d\x52"
+            "\x1e\x02\x35\x87\x24\xa6\x23\xb7\x12\xc7\x1f\x82\xd7"
+            "\x0f\x22\xc7\x1f\x22\xb7\x2f\x12\xa7\x32\x97\x42\x96"
+            "\x52\x86\x62\x77\x62\x76\x72\x66\x82\x56\x92\x55\xa2"
+            "\x45\xb2\x35\xc2\x25\xd2\x14\xe0\x16\xe0\x25\xe0\x33"
+            "\xe0\x52\xe0\x64" }  },
+      /* --- pixel bitmap for cmmi600 char#92 \natural --- */
+      {  92,137484,                     /* character number, location */
+         61, 7,  -18, 7,      /* topleft row,col, and botleft row,col */
+          { 18,   79, 3,94, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xfe\x02\xe0\x2f\x22\xe0\x22\xe4\xc6\x99\x7b\x5d\x2e"
+            "\x0f\x1e\x04\x0e\x2d\x5b\x79\x96\xc2\x0f\xe2\xe2\x0f"
+            "\x82\xe2\x02\xc6\x99\x7b\x5d\x2e\x0f\x1e\x04\x0e\x2d"
+            "\x5b\x79\x96\xc4\xe2\xfa\xe0\x22" }  },
+      /* --- pixel bitmap for cmmi600 char#93 \sharp --- */
+      {  93,138533,                     /* character number, location */
+         60, 5,  -18, 5,      /* topleft row,col, and botleft row,col */
+          { 22,   78, 3,167, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf4\xe0\x32\x30\xfb\x32\xc2\x30\x32\xc2\x12\x32\xc5"
+            "\x32\x98\x32\x6b\x32\x3e\x3e\x05\x2e\x0e\x0c\x2e\x05"
+            "\x3e\x32\x3b\x62\x38\x92\x35\xc2\x32\x12\xc2\x30\xfe"
+            "\x32\xc2\x30\xf6\x32\xc2\x30\x32\xc2\x12\x32\xc5\x32"
+            "\x98\x32\x6b\x32\x3e\x3e\x05\x2e\x0e\x0c\x2e\x05\x3e"
+            "\x32\x3b\x62\x38\x92\x35\xc2\x32\x12\xc2\x30\xf5\x32"
+            "\xc2\x30\xf4\x32\xe0\x30" }  },
+      /* --- pixel bitmap for cmmi600 char#94 \smile --- */
+      {  94,139667,                     /* character number, location */
+         31, 5,   11, 5,      /* topleft row,col, and botleft row,col */
+          { 73,   20, 2,71, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x00\x02\x45\x05\x43\x03\xff\x01\x01\x03\x41\x03\x01"
+            "\x00\x02\x03\x3f\x03\x05\x03\x3d\x03\x07\x03\x3b\x03"
+            "\x09\x04\x37\x04\x0b\x04\x35\x04\x0d\x04\x33\x04\x10"
+            "\x04\x2f\x04\x13\x05\x2b\x05\x15\x06\x27\x06\x18\x07"
+            "\x21\x07\x1c\x08\x1b\x08\x20\x0c\x0f\x0c\x24\x23\x29"
+            "\x1d\x2f\x17\x37\x0d\x1e" }  },
+      /* --- pixel bitmap for cmmi600 char#95 \frown --- */
+      {  95,140593,                     /* character number, location */
+         32, 5,   11, 5,      /* topleft row,col, and botleft row,col */
+          { 73,   21, 2,74, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x1e\x0d\x37\x17\x2f\x1d\x2a\x21\x25\x0c\x0f\x0c\x20"
+            "\x09\x19\x09\x1d\x07\x1f\x07\x1a\x06\x25\x06\x17\x05"
+            "\x29\x05\x14\x05\x2d\x05\x11\x04\x31\x04\x0f\x04\x33"
+            "\x04\x0d\x03\x37\x03\x0b\x03\x39\x03\x09\x03\x3b\x03"
+            "\x07\x03\x3d\x03\x05\x03\x3f\x03\x03\x03\x41\x03\x02"
+            "\x02\x43\x02\x01\x03\x43\x05\x45\x02" }  },
+      /* --- pixel bitmap for cmmi600 char#96 \ell --- */
+      {  96,110603,                     /* character number, location */
+         59, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 32,   60, 3,309, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xb5\xe0\xb8\xe0\x94\x33\xe0\x74\x52\xe0\x64\x62"
+            "\xe0\x54\x72\xe0\x45\x72\xe0\x44\x82\xe0\x35\x82\xf1"
+            "\xe0\x25\x92\xe0\x15\xa2\xe0\x15\x93\xf1\xe5\xa2\x10"
+            "\xd6\xa2\xe5\xa3\xd6\xa2\xe6\x93\xd6\xa2\xe6\x93\xe6"
+            "\x92\xe6\x93\xe6\x92\xe0\x16\x83\xe7\x73\xe0\x16\x82"
+            "\xe0\x26\x73\xe0\x26\x63\xe0\x27\x62\xe0\x36\x63\xe0"
+            "\x36\x53\xe0\x46\x43\xe0\x47\x33\xe0\x56\x33\xe0\x66"
+            "\x32\xe0\x76\x23\xe0\x76\x13\xe0\x85\x13\xe0\x98\xe0"
+            "\xa7\xe0\xa7\xe0\x50\xf1\x66\xe0\x60\x75\xe0\xc6\xe0"
+            "\xb7\xe0\xa8\xe0\x93\x15\xe0\x83\x25\xe0\x73\x35\xe0"
+            "\x63\x45\xe0\x32\x11\x74\xe0\x14\x94\xe3\xc4\xc3\xd4"
+            "\xb3\xe0\x14\x84\xe0\x34\x54\xe0\x6a\xe0\xa6\xc0" }  },
+      /* --- pixel bitmap for cmmi600 char#97 a --- */
+      {  97,35459,                      /* character number, location */
+         37, 4,   -1, 4,      /* topleft row,col, and botleft row,col */
+          { 38,   38, 3,217, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x26\xe0\xe0\x2a\xe0\xc5\x53\x43\xe0\x26\x73\x16"
+            "\xe6\x99\xd6\xb8\xc6\xc8\xb6\xe6\xb7\xe6\xb6\xe0\x16"
+            "\xa6\xe0\x17\x60\xf1\x37\xe0\x16\x70\x27\xe0\x26\x97"
+            "\xe0\x17\x88\xe0\x16\x80\xf1\x17\xe0\x26\x80\x17\xe0"
+            "\x17\x88\xe0\x16\x9f\x17\xe0\x26\x97\xe0\x17\x97\xe0"
+            "\x16\xaf\x16\xe0\x26\x82\x06\xe0\x17\x73\x0f\x16\xe0"
+            "\x16\x82\x16\xe7\x82\x25\xe7\x73\x25\xd8\x72\x36\xb9"
+            "\x63\x45\xa3\x25\x62\x65\x74\x35\x53\x75\x53\x65\x33"
+            "\xaa\x89\xd6\xc5\x77" }  },
+      /* --- pixel bitmap for cmmi600 char#98 b --- */
+      {  98,36457,                      /* character number, location */
+         58, 4,   -1, 4,      /* topleft row,col, and botleft row,col */
+          { 31,   59, 3,259, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xa6\xe0\x10\xf2\x3d\xe0\x10\x97\xe0\x10\xf2\x96\xe0"
+            "\x20\x87\xe0\x20\xf2\x86\xe0\x30\x77\xe0\x30\xf2\x76"
+            "\xe0\x40\x67\xe0\x40\xf2\x66\xe0\x50\x57\xe0\xa6\x66"
+            "\xd6\x4a\xb6\x24\x55\x87\x13\x85\x7a\xa5\x68\xc5\x67"
+            "\xd6\x47\xe0\x15\x47\xe0\x16\xf1\x36\xe0\x26\x27\xe0"
+            "\x26\xf1\x26\xe0\x36\x26\xe0\x27\x17\xe0\x27\xf1\x16"
+            "\xe0\x37\x16\xe0\x2e\x01\xe0\x28\x0f\x16\xe0\x37\x16"
+            "\xe0\x28\x16\xe0\x27\x25\xe0\x37\x2f\x15\xe0\x27\x35"
+            "\xe0\x17\x45\xe0\x16\x55\xe7\x65\xd6\x75\xc6\x85\xb6"
+            "\xa5\x96\xc4\x85\xe0\x15\x46\xe0\x4b\xe0\x86\xe0\x30" }  },
+      /* --- pixel bitmap for cmmi600 char#99 c --- */
+      {  99,37434,                      /* character number, location */
+         37, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 33,   38, 3,155, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x57\xe0\x9d\xe0\x46\x64\xe0\x15\xb3\xc6\xd3\xa6"
+            "\xe3\x96\xc6\x86\xc7\x76\xd7\x66\xe7\x57\xe7\x56\xe0"
+            "\x16\x57\xe0\x90\xf1\x27\xe0\xa0\x18\xe0\xa0\xf2\x17"
+            "\xe0\xb8\xe0\xbf\x47\xe0\xcf\x16\xe0\xd6\xe0\xb8\xe0"
+            "\xa3\x16\xe0\x92\x26\xe0\x83\x35\xe0\x64\x46\xe0\x43"
+            "\x76\xe0\x14\x95\xd4\xd5\x85\xe0\x2e\x01\xe0\x79\xe6" }  },
+      /* --- pixel bitmap for cmmi600 char#100 d --- */
+      { 100,38484,                      /* character number, location */
+         58, 4,   -1, 4,      /* topleft row,col, and botleft row,col */
+          { 39,   59, 3,317, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\x56\xf2\xe0\xcd\xe0\xe0\x47\xf1\xe0\xe0\x46"
+            "\x10\xf1\xe0\xe0\x37\x10\xf1\xe0\xe0\x36\x20\xf1\xe0"
+            "\xe0\x27\x20\xf1\xe0\xe0\x26\x30\xf1\xe0\xe0\x17\x30"
+            "\xf1\xe0\xe0\x16\x40\xf1\xe0\xe7\x40\xe0\x26\x66\xe0"
+            "\x5a\x46\xe0\x35\x53\x27\xe0\x16\x73\x17\xe6\x99\xe6"
+            "\xb8\xd6\xc8\xc6\xe7\xb7\xe6\xc6\xe0\x16\xb6\xe0\x17"
+            "\xa7\xe0\x17\xa7\xe0\x16\xa7\xe0\x26\xa7\xe0\x17\x98"
+            "\xe0\x17\x80\xf1\x17\xe0\x26\x90\x17\xe0\x17\x98\xe0"
+            "\x17\x9f\x17\xe0\x26\xaf\x17\xe0\x17\xaf\x16\xe0\x26"
+            "\x82\x16\xe0\x17\x73\x16\xe0\x17\x72\x26\xe0\x16\x82"
+            "\x26\xe7\x82\x35\xe7\x73\x35\xd8\x72\x46\xb9\x63\x55"
+            "\xa3\x25\x62\x75\x74\x35\x53\x85\x53\x65\x33\xba\x89"
+            "\xe6\xc5\x80" }  },
+      /* --- pixel bitmap for cmmi600 char#101 e --- */
+      { 101,39521,                      /* character number, location */
+         37, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 33,   38, 3,173, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x48\xe0\x8e\xe0\x36\x74\xe6\xa4\xc6\xc4\x96\xe0"
+            "\x13\x86\xe0\x23\x77\xe0\x23\x67\xe0\x33\x57\xe0\x43"
+            "\x57\xe0\x34\x47\xe0\x43\x57\xe0\x34\x47\xe0\x25\x57"
+            "\xe5\x68\xa7\x8e\x09\xae\x04\xe0\x17\xe0\xb8\xe0\xbf"
+            "\x57\xe0\xc0\x16\xe0\xd6\xe0\xa2\x16\xe0\x93\x16\xe0"
+            "\x92\x35\xe0\x83\x36\xe0\x54\x55\xe0\x43\x85\xe0\x14"
+            "\xa5\xc4\xd5\x85\xe0\x3e\xe0\x79\xe6" }  },
+      /* --- pixel bitmap for cmmi600 char#102 f --- */
+      { 102,40757,                      /* character number, location */
+         59, 4,  -17, 4,      /* topleft row,col, and botleft row,col */
+          { 42,   76, 3,305, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\x46\xe0\xe0\x6a\xe0\xe0\x34\x53\xe0\xe0\x14"
+            "\x64\xe0\xd4\x56\xf1\xe0\xc5\x47\xe0\xb6\x47\xe0\xb5"
+            "\x56\xe0\xb6\x64\x20\xf2\xe0\xa6\xc0\xf4\xe0\x96\xd0"
+            "\xe0\x87\xd0\xf3\xe0\x86\xe0\xf2\xde\x0a\x50\xf1\xe0"
+            "\x76\xe0\x10\xe0\x67\xe0\x10\xf3\xe0\x66\xe0\x20\xf1"
+            "\xe0\x57\xe0\x20\xf3\xe0\x56\xe0\x30\xe0\x47\xe0\x30"
+            "\xf3\xe0\x46\xe0\x40\xe0\x37\xe0\x40\xf3\xe0\x36\xe0"
+            "\x50\xe0\x27\xe0\x50\xf4\xe0\x26\xe0\x60\xf3\xe0\x16"
+            "\xe0\x70\xe0\x15\xe0\x80\xf2\xe6\xe0\x80\xf1\xe5\xe0"
+            "\x90\xd6\xe0\xc3\x75\xe0\xb6\x65\xe0\xb6\x64\xe0\xb7"
+            "\x55\xe0\xb7\x54\xe0\xc7\x44\xe0\xe4\x54\xe0\xe0\x14"
+            "\x44\xe0\xe0\x3a\xe0\xe0\x75\xe0\xe0\x45" }  },
+      /* --- pixel bitmap for cmmi600 char#103 g --- */
+      { 103,41876,                      /* character number, location */
+         37, 2,  -17, 2,      /* topleft row,col, and botleft row,col */
+          { 38,   54, 3,293, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x76\xe0\xe0\x1b\xe0\xb6\x53\x43\xe0\x25\x83\x16"
+            "\xd6\xa9\xc6\xc8\xb6\xd8\xa6\xe0\x17\x97\xe0\x16\xa6"
+            "\xe0\x26\x96\xe0\x27\x87\xe0\x27\x87\xe0\x26\x87\xe0"
+            "\x36\x87\xe0\x27\x78\xe0\x27\x20\xf1\x57\xe0\x36\x30"
+            "\x57\xe0\x27\x78\xe0\x27\x30\xf1\x47\xe0\x36\x40\xf1"
+            "\x47\xe0\x27\x40\xf1\x46\xe0\x36\x50\xf1\x46\xe0\x27"
+            "\x50\x55\xe0\x26\xb5\xe0\x17\xb6\xd8\xc5\xc9\xc6\xa9"
+            "\xe5\x84\x16\xe0\x15\x54\x27\xe0\x3b\x37\xe0\x56\x66"
+            "\xe0\xe0\x46\x80\xf1\xe0\x97\x80\xf1\xe0\x96\x90\xe0"
+            "\x87\xe0\xe0\x36\xd3\xe0\x26\xb6\xe7\xb6\xe6\xb7\xd6"
+            "\xc7\xc6\xd7\xb6\xe0\x14\xb7\xe0\x25\x87\xe0\x6e\x02"
+            "\xe0\xba\xe0\x8a" }  },
+      /* --- pixel bitmap for cmmi600 char#104 h --- */
+      { 104,42979,                      /* character number, location */
+         58, 4,   -1, 4,      /* topleft row,col, and botleft row,col */
+          { 42,   59, 3,333, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe6\xe0\x80\xf2\x7d\xe0\x80\xd7\xe0\x80\xf2\xd6\xe0"
+            "\x90\xc7\xe0\x90\xf2\xc6\xe0\xa0\xb7\xe0\xa0\xf2\xb6"
+            "\xe0\xb0\xa7\xe0\xb0\xf2\xa6\xe0\xc0\x97\xe0\xe0\x76"
+            "\x77\xe0\x86\x5c\xe0\x56\x34\x65\xe0\x37\x14\x95\xe0"
+            "\x26\x13\xb6\xe0\x19\xc6\xe0\x18\xe5\xe8\xe0\x15\x70"
+            "\xf1\x77\xe0\x25\x70\x76\xe0\x26\xd7\xe0\x26\x70\xf1"
+            "\x66\xe0\x36\x70\x66\xe0\x27\xc7\xe0\x26\x80\xf1\x56"
+            "\xe0\x36\x80\x56\xe0\x27\xc7\xe0\x26\xd6\xe0\x36\xd6"
+            "\xe0\x27\xd6\xe0\x26\xd7\xe0\x26\xd6\xe0\x27\x82\x36"
+            "\xe0\x26\x92\x36\xe0\x17\x83\x27\xe0\x16\x92\x36\xe0"
+            "\x26\x92\x36\xe0\x26\x83\x36\xe0\x25\x92\x37\xe0\x25"
+            "\x83\x36\xe0\x35\x73\x46\xe0\x35\x72\x56\xe0\x35\x63"
+            "\x47\xe0\x45\x34\x56\xe0\x69\x93\xe0\x95\x90" }  },
+      /* --- pixel bitmap for cmmi600 char#105 i --- */
+      { 105,44013,                      /* character number, location */
+         56, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 22,   57, 3,175, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x33\xe0\x36\x10\xf2\xe7\x10\xe6\xe0\x43\x30\xfb"
+            "\xe0\x80\x86\xe9\xc3\x45\x93\x55\x83\x75\x72\x76\x63"
+            "\x76\x62\x86\x53\x86\x52\x87\x52\x86\x53\x86\x52\x87"
+            "\x52\x86\xe0\x26\xe0\x17\xe0\x16\xe0\x17\x70\xf1\x86"
+            "\x80\x77\xe0\x16\xe0\x17\xe0\x16\xe0\x26\x82\x57\x82"
+            "\x56\x83\x56\x82\x57\x82\x56\x83\x56\x82\x66\x73\x66"
+            "\x72\x75\x73\x85\x53\x95\x43\xc9\xe6\x86" }  },
+      /* --- pixel bitmap for cmmi600 char#106 j --- */
+      { 106,45062,                      /* character number, location */
+         56,-1,  -17,-1,      /* topleft row,col, and botleft row,col */
+          { 34,   73, 3,281, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xe0\x23\xe0\xe0\x16\xf2\xe0\xd7\xe0\xd6\xe0\xe0"
+            "\x23\x20\xfb\xe0\xe0\x60\xe0\x66\xe0\xca\xe0\x93\x45"
+            "\xe0\x73\x65\xe0\x53\x76\xe0\x33\x86\xe0\x23\x96\xe0"
+            "\x13\xa6\xe0\x12\xb6\xe3\xb6\xe2\xb7\xd3\xb7\x30\xf1"
+            "\xa2\xc6\x40\xf1\xe0\x97\x40\xf1\xe0\x96\x50\xf1\xe0"
+            "\x87\x50\xf1\xe0\x86\x60\xf1\xe0\x77\x60\xf1\xe0\x76"
+            "\x70\xf1\xe0\x67\x70\xf1\xe0\x66\x80\xf1\xe0\x57\x80"
+            "\xf1\xe0\x56\x90\xf1\xe0\x47\x90\xf1\xe0\x46\xa0\xf1"
+            "\xe0\x37\xa0\xf1\xe0\x36\xb0\xe0\x27\xe0\xd6\xe0\x13"
+            "\xa6\xc0\xf1\x16\x86\xd7\x76\xe7\x66\xe0\x17\x56\xe0"
+            "\x25\x66\xe0\x43\x65\xe0\x7b\xe0\xb7\xe0\x97" }  },
+      /* --- pixel bitmap for cmmi600 char#107 k --- */
+      { 107,46221,                      /* character number, location */
+         58, 4,   -1, 4,      /* topleft row,col, and botleft row,col */
+          { 39,   59, 3,297, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe6\xe0\x50\xf2\x7d\xe0\x50\xd7\xe0\x50\xf2\xd6\xe0"
+            "\x60\xc7\xe0\x60\xf2\xc6\xe0\x70\xb7\xe0\x70\xf2\xb6"
+            "\xe0\x80\xa7\xe0\x80\xf2\xa6\xe0\x90\x97\xe0\xe0\x46"
+            "\xe0\x15\xd6\xd9\xb6\xb4\x53\x97\x94\x65\x86\x93\x67"
+            "\x86\x83\x77\x86\x73\x87\x77\x63\x96\x86\x63\xa6\x86"
+            "\x53\xc3\xa6\x43\xe0\xb7\x33\xe0\xc6\x33\xe0\xd6\x23"
+            "\xe0\xe6\x13\xe0\x90\xf1\x5a\xe0\xa0\x5e\xe0\xb6\x28"
+            "\xe0\x87\x57\xe0\x66\x77\xe0\x56\x87\xe0\x46\x96\xe0"
+            "\x37\x97\xd0\xf1\x36\xb6\x92\x20\x36\xb6\x83\x47\xa7"
+            "\x82\x56\xb6\x92\x56\xb6\x83\x56\xb6\x82\x57\xb6\x82"
+            "\x56\xd5\x73\x56\xd5\x63\x66\xd5\x62\x67\xe5\x43\x66"
+            "\xe0\x39\x93\xe0\x65\x96" }  },
+      /* --- pixel bitmap for cmmi600 char#108 l --- */
+      { 108,47119,                      /* character number, location */
+         58, 4,   -1, 4,      /* topleft row,col, and botleft row,col */
+          { 18,   59, 3,175, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xc6\xf2\x5d\xb7\xf1\xb6\x10\xf1\xa7\x10\xf1\xa6\x20"
+            "\xf1\x97\x20\xf1\x96\x30\xf1\x87\x30\xf1\x86\x40\xf1"
+            "\x77\x40\xf1\x76\x50\xf1\x67\x50\xf1\x66\x60\xf1\x57"
+            "\x60\xf1\x56\x70\xf1\x47\x70\xf1\x46\x80\xf1\x37\x80"
+            "\xf1\x36\x90\xf1\x27\x90\xf1\x26\xa0\xf1\x17\xa0\xf1"
+            "\x16\x72\x27\x72\x27\x63\x2f\x16\x72\x36\x63\x3f\x16"
+            "\x62\x46\x53\x55\x43\x74\x33\x98\xc5\x8e" }  },
+      /* --- pixel bitmap for cmmi600 char#109 m --- */
+      { 109,48474,                      /* character number, location */
+         37, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 68,   38, 3,413, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x75\xe7\xe0\x27\xe0\x39\xac\xac\xe3\x35\x74\x65\x75"
+            "\x55\xc3\x55\x44\x95\x53\x95\xb2\x66\x23\xb6\x33\xa6"
+            "\x93\x66\x13\xc6\x23\xc5\x92\x79\xe5\x13\xd5\x83\x78"
+            "\xe0\x18\xe5\x70\xf1\x12\x87\xe0\x27\xe0\x15\x70\x12"
+            "\x86\xe0\x27\xe0\x16\x73\x77\xe0\x26\xe0\x26\x7f\x12"
+            "\x86\xe0\x36\xe0\x26\x70\xa6\xe0\x27\xe0\x17\xe0\x27"
+            "\xe0\x27\xe0\x16\x80\xf1\x96\xe0\x36\xe0\x26\x80\x96"
+            "\xe0\x27\xe0\x17\xe0\x27\xe0\x27\xe0\x16\xe0\x36\xe0"
+            "\x36\xe0\x26\xe0\x36\xe0\x36\xe0\x17\xe0\x36\xe0\x27"
+            "\xe0\x16\xe0\x37\xe0\x27\xe0\x16\xe0\x36\xe0\x36\xe0"
+            "\x17\x82\x76\xe0\x36\xe0\x16\x92\x76\xe0\x27\xe7\x83"
+            "\x67\xe0\x27\xe6\x92\x76\xe0\x36\xe0\x16\x92\x76\xe0"
+            "\x36\xe0\x16\x83\x76\xe0\x27\xe0\x15\x92\x77\xe0\x27"
+            "\xe0\x15\x83\x76\xe0\x36\xe0\x25\x73\x86\xe0\x36\xe0"
+            "\x25\x72\x96\xe0\x27\xe0\x25\x63\x87\xe0\x27\xe0\x34"
+            "\x44\x96\xe0\x36\xe0\x59\xd3\xe0\x63\xe0\x85\x98" }  },
+      /* --- pixel bitmap for cmmi600 char#110 n --- */
+      { 110,49757,                      /* character number, location */
+         37, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 45,   38, 3,275, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x75\xe7\xe0\x39\x9c\xe3\x35\x65\x55\xc3\x55\x43\x95"
+            "\xb2\x66\x23\xa6\x93\x66\x13\xc5\x92\x79\xd5\x83\x78"
+            "\xe5\x70\xf1\x12\x87\xe0\x15\x70\x12\x86\xe0\x16\x73"
+            "\x77\xe0\x16\x7f\x12\x86\xe0\x26\x70\xa6\xe0\x17\xe0"
+            "\x27\xe0\x16\x80\xf1\x96\xe0\x26\x80\x96\xe0\x17\xe0"
+            "\x27\xe0\x16\xe0\x36\xe0\x26\xe0\x36\xe0\x17\xe0\x36"
+            "\xe0\x16\xe0\x37\xe0\x16\xe0\x36\xe0\x17\x82\x76\xe0"
+            "\x16\x92\x76\xe7\x83\x67\xe6\x92\x76\xe0\x16\x92\x76"
+            "\xe0\x16\x83\x76\xe0\x15\x92\x77\xe0\x15\x83\x76\xe0"
+            "\x25\x73\x86\xe0\x25\x72\x96\xe0\x25\x63\x87\xe0\x34"
+            "\x44\x96\xe0\x59\xd3\xe0\x85\x92" }  },
+      /* --- pixel bitmap for cmmi600 char#111 o --- */
+      { 111,50665,                      /* character number, location */
+         37, 4,   -1, 4,      /* topleft row,col, and botleft row,col */
+          { 35,   38, 3,193, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x48\xe0\xad\xe0\x66\x65\xe0\x26\x95\xe6\xb5\xc6"
+            "\xc6\xa6\xe5\x96\xe0\x16\x76\xe0\x35\x66\xe0\x46\x47"
+            "\xe0\x46\xf1\x37\xe0\x56\x27\xe0\x66\x27\xe0\x57\x18"
+            "\xe0\x57\xf1\x17\xe0\x67\x17\xe0\x5e\x02\xe0\x58\x0f"
+            "\x17\xe0\x67\x17\xe0\x58\x17\xe0\x57\x26\xe0\x67\x2f"
+            "\x16\xe0\x57\x36\xe0\x47\x46\xe0\x46\x65\xe0\x36\x76"
+            "\xe0\x16\x95\xe6\xa6\xc6\xc5\xb6\xe5\x96\xe0\x25\x66"
+            "\xe0\x6d\xe0\xa8\xe0\x47" }  },
+      /* --- pixel bitmap for cmmi600 char#112 p --- */
+      { 112,51761,                      /* character number, location */
+         37,-2,  -16,-2,      /* topleft row,col, and botleft row,col */
+          { 43,   53, 3,309, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xc5\xc6\xe0\x49\x8a\xe0\x13\x35\x63\x55\xc3\x55\x34"
+            "\x75\xb2\x65\x23\xa5\x93\x69\xb6\x82\x78\xd5\x73\x77"
+            "\xe5\x72\x87\xe6\x62\x86\xe0\x16\x62\x77\xe0\x16\x53"
+            "\x77\xe0\x16\xf1\x52\x86\xe0\x26\xf1\xe7\xe0\x17\xf1"
+            "\xe6\xe0\x27\xf1\xd7\xe0\x18\xf1\xd6\xe0\x27\x10\xc7"
+            "\xe0\x18\xd7\xe0\x17\xe6\xe0\x27\xe6\xe0\x17\xe7\xe0"
+            "\x17\xe7\xe0\x16\xe0\x16\xe0\x16\xe0\x26\xe7\xe0\x17"
+            "\xe6\xe0\x28\xc6\xe0\x38\xb6\xe0\x49\x96\xe0\x47\x13"
+            "\x76\xe0\x57\x23\x55\xe0\x76\x4a\xe0\x96\x66\xe0\x20"
+            "\xf1\x87\xe0\xe0\xf1\x86\xe0\xe0\x10\xf1\x77\xe0\xe0"
+            "\x10\xf1\x76\xe0\xe0\x20\xf1\x67\xe0\xe0\x20\x66\xe0"
+            "\xe0\x87\xe0\xe0\x3f\x1e\x05\xe0\xae\x04\xe0\xb6" }  },
+      /* --- pixel bitmap for cmmi600 char#113 q --- */
+      { 113,52850,                      /* character number, location */
+         37, 3,  -16, 3,      /* topleft row,col, and botleft row,col */
+          { 35,   53, 3,247, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x36\xa2\xeb\x73\xc6\x53\x54\xb5\x83\x35\x96\xa3"
+            "\x15\x96\xc8\x86\xd8\x76\xe0\x17\x67\xe0\x16\x76\xe0"
+            "\x26\x67\xe0\x26\x57\xe0\x27\x57\xe0\x26\x30\xf1\x27"
+            "\xe0\x36\x30\x18\xe0\x27\x30\xf2\x17\xe0\x36\x48\xe0"
+            "\x27\x4f\x27\xe0\x36\x57\xe0\x27\x5f\x26\xe0\x36\x66"
+            "\xe0\x27\x66\xe0\x26\x76\xe0\x17\x85\xe0\x17\x86\xd8"
+            "\x95\xc8\xa5\xaa\xb5\x83\x26\xc5\x54\x27\xea\x46\xe0"
+            "\x36\x66\xe0\xe0\x16\xe0\xe7\x90\xf2\xe0\x56\xa0\xe0"
+            "\x47\xa0\xf2\xe0\x46\xb0\xe0\x37\xe0\xe6\xe0\xe7\xe0"
+            "\x8e\x05\x60\xf1\x9e\x06\x60" }  },
+      /* --- pixel bitmap for cmmi600 char#114 r --- */
+      { 114,53883,                      /* character number, location */
+         37, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 34,   38, 3,173, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x65\xd6\x98\x8b\x63\x25\x64\x63\x43\x45\x34\x75\x23"
+            "\x56\x13\x77\x22\x69\x87\x22\x68\x97\x13\x68\x96\x22"
+            "\x77\xa6\x22\x76\xc3\x33\x76\xe0\x42\x77\xe0\x4f\x12"
+            "\x76\xe0\x50\x96\xe0\xd7\xe0\x50\xf2\x86\xe0\x60\x77"
+            "\xe0\x60\xf2\x76\xe0\x70\x67\xe0\x70\xf2\x66\xe0\x80"
+            "\x57\xe0\x80\xf2\x56\xe0\x90\x47\xe0\x90\xf2\x46\xe0"
+            "\xa0\x37\xe0\xd6\xe0\xe0\x23\xe0\xc4" }  },
+      /* --- pixel bitmap for cmmi600 char#115 s --- */
+      { 115,54941,                      /* character number, location */
+         37, 4,   -1, 4,      /* topleft row,col, and botleft row,col */
+          { 30,   38, 3,167, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x37\xe0\x6d\xe0\x24\x74\xd4\xb3\xb4\xd3\xa4\xe2"
+            "\x94\xd4\x85\xb6\xf1\x84\xc6\x84\xc5\x86\xc3\x96\xe0"
+            "\xa8\xe0\x9b\xe0\x5e\x01\xe0\x1e\x03\xee\x03\xee\x03"
+            "\xe0\x1e\x02\xe0\x2e\xe0\x7a\xe0\x97\x10\xf1\xe0\x96"
+            "\x10\x25\xe0\x35\x26\xe0\x35\x1f\x27\xe0\x34\x26\xe0"
+            "\x34\x32\xe0\x73\x43\xe0\x54\x53\xe0\x34\x73\xe5\x95"
+            "\x95\xde\x01\xe0\x49\xd0" }  },
+      /* --- pixel bitmap for cmmi600 char#116 t --- */
+      { 116,55801,                      /* character number, location */
+         52, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 26,   53, 3,165, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x13\xe0\x85\x70\xf3\xd6\x70\xc7\x70\xf2\xc6\x80"
+            "\xb7\x80\xf2\xb6\x90\xa7\xe0\x56\xa0\xf1\x1e\x0b\x0e"
+            "\x0c\xf2\x96\xb0\x87\xb0\xf2\x86\xc0\x77\xc0\xf2\x76"
+            "\xd0\x67\xd0\xf2\x66\xe0\x57\xe0\xf2\x56\xe0\x10\x47"
+            "\xe0\x10\xf1\x46\xc2\x20\x46\xb3\x57\xb2\x66\xb3\x66"
+            "\xb2\x76\xa3\x76\x93\x86\x83\x96\x73\xb5\x63\xd4\x53"
+            "\xe0\x1a\xe0\x46\xc9" }  },
+      /* --- pixel bitmap for cmmi600 char#117 u --- */
+      { 117,56939,                      /* character number, location */
+         37, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 43,   38, 3,227, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x95\xe0\xe0\x89\xe0\x43\xb4\x44\xe0\x25\x93\x65\xe6"
+            "\x92\x75\xe6\x83\x75\xe6\x73\x85\xd7\x72\x95\xd7\x63"
+            "\x86\xd6\x72\x96\xd6\x72\x96\xc7\x63\x87\xc7\x62\x96"
+            "\xd6\x72\x87\xd6\x70\xf1\xa6\xd7\x70\x97\xd6\xe0\x36"
+            "\xe6\xe0\x36\xd7\xe0\x27\xd7\x80\xf1\x86\xe6\x90\x86"
+            "\xd7\xe0\x27\xd7\x90\xf1\x76\xe6\x82\x76\xd7\x73\x76"
+            "\xd7\x72\x10\xf1\x76\xd6\x82\x10\x76\xc7\x73\x86\xc7"
+            "\x72\x96\xb8\x63\xa5\xa3\x15\x62\xc5\x83\x25\x53\xd5"
+            "\x54\x45\x33\xe0\x1b\x79\xe0\x47\xb5\x76" }  },
+      /* --- pixel bitmap for cmmi600 char#118 v --- */
+      { 118,58010,                      /* character number, location */
+         37, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 37,   38, 3,227, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x95\xe0\x33\xa9\xe6\x64\x44\xc7\x53\x65\xb8\x42\x75"
+            "\xb8\x33\x75\xb8\x23\x85\xc7\x22\x95\xd6\x13\x86\xe5"
+            "\x12\x96\xe5\x12\x96\xe0\x17\x87\xe0\x13\x12\x96\xe0"
+            "\x23\x12\x87\xe0\x23\xb6\xe0\x33\xb6\xe0\x32\xb7\xe0"
+            "\x32\xb6\xe0\x42\xb6\xe0\x33\xa7\xe0\x32\xb6\xe0\x42"
+            "\xb6\xe0\x33\xb6\xe0\x32\xb7\xe0\x32\xb6\xe0\x33\xb6"
+            "\xe0\x32\xc6\xe0\x23\xc6\xe0\x22\xd6\xe0\x13\xd6\xe3"
+            "\xe6\xe2\xe0\x16\xd3\xe0\x25\xc3\xe0\x36\xa3\xe0\x55"
+            "\x93\xe0\x76\x54\xe0\xab\xe0\xe7\xe0\x26" }  },
+      /* --- pixel bitmap for cmmi600 char#119 w --- */
+      { 119,59344,                      /* character number, location */
+         37, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 55,   38, 3,307, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x85\xe0\xe0\x83\x99\xe0\x43\xc6\x63\x44\xe0\x25\xa7"
+            "\x53\x55\xe6\xa8\x33\x65\xe6\xa8\x32\x75\xe6\xa8\x23"
+            "\x75\xd7\xb7\x22\x85\xd6\xd6\x13\x76\xd6\xe5\x12\x86"
+            "\xd6\xe5\x12\x86\xc7\xe0\x17\x77\xc7\xe0\x13\x12\x86"
+            "\xd6\xe0\x23\x12\x77\xd6\xe0\x23\xa6\xd7\xe0\x23\xa6"
+            "\xd7\xe0\x22\xa7\xd6\xe0\x32\xa6\xe6\xe0\x32\xa6\xd7"
+            "\xe0\x23\x97\xd7\xe0\x22\x30\xf1\x76\xe6\xe0\x32\x30"
+            "\x76\xe6\xe0\x23\x97\xd7\xe0\x22\xa6\xe6\xe0\x32\xa6"
+            "\xe6\xe0\x23\xa6\xe6\xe0\x22\xb6\xe6\xe0\x13\xb6\xe6"
+            "\xe0\x12\xc6\xe6\xe3\xc6\xd7\xe2\xe5\xd7\xd3\xe6\xb8"
+            "\xc3\xe0\x25\xa3\x16\xa3\xe0\x36\x83\x36\x83\xe0\x65"
+            "\x63\x56\x54\xe0\x8c\x8c\xe0\xc7\xc7\xe0\x10" }  },
+      /* --- pixel bitmap for cmmi600 char#120 x --- */
+      { 120,60790,                      /* character number, location */
+         37, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 42,   38, 3,227, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xd6\xc6\xe0\x2a\x8a\xc4\x55\x53\x64\x93\x85\x33\x74"
+            "\x83\x95\x23\x67\x63\xb8\x77\x62\xc7\x87\x53\xc7\x86"
+            "\x53\xd6\x96\x52\xe6\xa3\x72\xd7\xe0\x53\xd6\xe0\x30"
+            "\xf1\x32\xe6\xe0\x30\xf1\xe0\x47\xe0\x30\xf1\xe0\x46"
+            "\xe0\x40\xf1\xe0\x37\xe0\x40\xf1\xe0\x36\xe0\x50\xf1"
+            "\xe0\x27\xe0\x50\xf1\xe0\x26\xe0\x12\x30\xe0\x17\xe3"
+            "\xe0\x47\xe2\x73\x96\xe3\x56\x86\xe2\x66\x77\xd3\x57"
+            "\x77\xd2\x67\x68\xc3\x67\x53\x25\xa3\x84\x63\x44\x84"
+            "\x94\x53\x64\x54\xca\x8b\xe0\x25\xc6\xe0" }  },
+      /* --- pixel bitmap for cmmi600 char#121 y --- */
+      { 121,62024,                      /* character number, location */
+         37, 2,  -17, 2,      /* topleft row,col, and botleft row,col */
+          { 38,   54, 3,289, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x85\xe0\xe0\x39\xe0\x53\x63\x44\xe0\x35\x43\x55\xe0"
+            "\x16\x33\x65\xe0\x16\x32\x75\xe0\x16\x23\x75\xe7\x22"
+            "\x85\xe6\x23\x76\xe6\x22\x86\xe6\x22\x86\xd7\x13\x77"
+            "\xd6\x22\x86\xe6\x22\x77\xe6\xb6\xe7\xb6\xe6\xb7\xe6"
+            "\xb6\xe0\x16\xb6\xe7\xa7\xe6\x40\xf1\x76\xe0\x16\x40"
+            "\x76\xe7\xa7\xe6\x50\xf1\x66\xe0\x16\x50\x66\xe7\x50"
+            "\xf2\x66\xe6\x60\x66\xd7\xc6\xc7\xe5\xc7\xe5\xb8\xe0"
+            "\x15\x8a\xe0\x25\x63\x16\xe0\x4c\x26\xe0\x77\x46\xe0"
+            "\xe0\x37\x80\xf1\xe0\x96\x90\xe0\x87\xc6\xd6\xa0\xf1"
+            "\x27\xc6\xb0\x27\xb6\xe7\xa6\xe0\x16\xb5\xe0\x22\xe5"
+            "\xe0\x33\xc5\xe0\x53\x96\xe0\x73\x75\xe0\xac\xe0\xe7"
+            "\xe0\xa6" }  },
+      /* --- pixel bitmap for cmmi600 char#122 z --- */
+      { 122,63126,                      /* character number, location */
+         37, 4,   -1, 4,      /* topleft row,col, and botleft row,col */
+          { 35,   38, 3,209, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe5\xe2\xc8\xc3\xba\xb2\xbc\x93\xae\x73\xae\x02\x53"
+            "\xb4\x7d\xa4\xb9\xb3\xe0\x33\xc2\xe0\x33\xd2\xe0\x23"
+            "\xe0\xe0\x33\xe0\xe0\x33\xe0\xe0\x33\xe0\xe0\x33\xe0"
+            "\xe0\x33\xe0\xe0\x33\xe0\xe0\x33\xe0\xe0\x24\xe0\xe0"
+            "\x24\xe0\xe0\x23\xe0\xe0\x33\xe0\xe0\x33\xe0\xe0\x33"
+            "\xe0\xe0\x33\xe0\x32\xc3\xe0\x42\xb3\xe0\x43\xa3\xe0"
+            "\x52\xa3\xe0\x53\x93\xe0\x53\x99\xc5\x8e\x66\x93\x5e"
+            "\x04\x83\x7e\x02\x83\x9e\x92\xbc\x93\xc9\xb2\xe0\x15"
+            "\xd0" }  },
+      /* --- pixel bitmap for cmmi600 char#123 \imath --- */
+      { 123,111545,                     /* character number, location */
+         37, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 22,   38, 3,145, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x86\xe9\xc3\x45\x93\x55\x83\x75\x72\x76\x63\x76\x62"
+            "\x86\x53\x86\x52\x87\x52\x86\x53\x86\x52\x87\x52\x86"
+            "\xe0\x26\xe0\x17\xe0\x16\xe0\x17\x70\xf1\x86\x80\x77"
+            "\xe0\x16\xe0\x17\xe0\x16\xe0\x26\x82\x57\x82\x56\x83"
+            "\x56\x82\x57\x82\x56\x83\x56\x82\x66\x73\x66\x72\x75"
+            "\x73\x85\x53\x95\x43\xc9\xe6\x87" }  },
+      /* --- pixel bitmap for cmmi600 char#124 \jmath --- */
+      { 124,112440,                     /* character number, location */
+         37,-1,  -17,-1,      /* topleft row,col, and botleft row,col */
+          { 31,   54, 3,227, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x66\xe0\x9a\xe0\x63\x54\xe0\x43\x65\xe0\x23\x76"
+            "\xe3\x86\xd3\x96\xc3\xa6\xc2\xb6\xb3\xb6\xb2\xb7\xa3"
+            "\xb7\xf1\xa2\xc6\x10\xf1\xe0\x97\x10\xf1\xe0\x96\x20"
+            "\xf1\xe0\x87\x20\xf1\xe0\x86\x30\xf1\xe0\x77\x30\xf1"
+            "\xe0\x76\x40\xf1\xe0\x67\x40\xf1\xe0\x66\x50\xf1\xe0"
+            "\x57\x50\xf1\xe0\x56\x60\xf1\xe0\x47\x60\xf1\xe0\x46"
+            "\x70\xf1\xe0\x37\x70\xf1\xe0\x36\x80\xe0\x27\xe0\xa6"
+            "\xc3\xa6\x90\xf1\x16\x86\xa7\x76\xb7\x66\xc7\x65\xe4"
+            "\x75\xe0\x14\x56\xe0\x3c\xe0\x86\xe0\x65" }  },
+      /* --- pixel bitmap for cmmi600 char#125 \wp --- */
+      { 125,113699,                     /* character number, location */
+         38, 6,  -18, 6,      /* topleft row,col, and botleft row,col */
+          { 46,   56, 3,395, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xc4\xe0\xe0\xc6\xe0\xe0\xb4\xe0\xe0\xd4\xe0\xe0\xd4"
+            "\xe0\x58\xe4\xe0\x3d\xb4\xe0\x25\x75\x94\xe4\xb5\x74"
+            "\xd4\xe5\x64\xb4\xe0\x25\x54\xb4\xe0\x45\x44\xa3\xe0"
+            "\x65\x35\x93\xe0\x75\x34\x93\xe0\x86\x24\x83\xe0\x96"
+            "\x24\x73\xe0\xa6\x15\x63\xe0\xb6\x14\x63\xe0\xc6\x14"
+            "\x62\xe0\xd6\x14\x53\xe0\xc7\x14\x43\xe0\xd6\x24\x42"
+            "\xe0\xe6\x24\x33\xe0\xe6\x25\x22\xe0\xe7\x25\x13\xe0"
+            "\xe6\x38\xe0\xe0\x16\x37\xe0\xe0\x16\x56\xe0\xe0\x16"
+            "\x57\xb1\xe0\x25\x77\x94\xd6\x78\x83\xd6\x97\x82\xe5"
+            "\xa8\x72\xd5\xaa\x62\xc5\xb2\x27\x53\xa5\xc2\x27\x62"
+            "\x95\xc3\x37\x54\x55\xe2\x57\x6a\xe0\x22\x66\x86\xe0"
+            "\x42\x67\xe0\xe0\x23\x76\xe0\xe0\x10\xf2\x12\x95\xe0"
+            "\xe0\x13\x94\xe0\xe0\x2f\x12\xa4\xe0\xe0\x22\x95\xe0"
+            "\xe0\x2f\x12\x94\xe0\xe0\x32\x84\xe0\xe0\x43\x64\xe0"
+            "\xe0\x62\x64\xe0\xe0\x63\x44\xe0\xe0\x88\xe0\xe0\xc4"
+            "\xe0\xe0\xa0" }  },
+      /* --- pixel bitmap for cmmi600 char#126 \vec --- */
+      { 126,114541,                     /* character number, location */
+         60,15,   42,15,      /* topleft row,col, and botleft row,col */
+          { 38,   18, 2,41, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x1e\x01\x23\x04\x06\x00\xff\x01\x1c\x05\x05\x00\x1d"
+            "\x05\x21\x06\x21\x06\x03\x24\x01\xff\x01\x26\x01\x24"
+            "\x1d\x07\x1e\x06\x1f\x06\x1f\x06\x20\x05\x21\x04\x23"
+            "\x02\x0a" }  },
+      /* --- pixel bitmap for cmmi600 char#127 (noname) --- */
+      { 127,115107,                     /* character number, location */
+         56,22,   45,22,      /* topleft row,col, and botleft row,col */
+          { 32,   11, 3,55, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xda\xe0\x5e\x02\xee\x06\xa7\xa6\x75\xe0\x34\x54\xe0"
+            "\x64\x34\xe0\x83\x10\xf1\x13\xe0\xb3\x12\xe0\xc6\xe0"
+            "\xc2\x1e" }  },
+      /* --- trailer  --- */
+      { -99, -999,  0,0,0,0, { 0,0,0,0, (pixbyte *)"\0" }  }
+   } ;
+
+
 /* ------------------------------------------------------------------------
-font sizes 0-7 for cmmib10
+font sizes 0-10 for cmmib10
 ------------------------------------------------------------------------ */
 
 /* --- size=0 for .83gf ---
@@ -18321,8 +26638,4728 @@
    } ;
 
 
+/* --- size=8 for .325gf ---
+ * mf '\mode=preview; mag=magstep(-11.40956951729850636869); input cmmib10'
+ * --------------------------------------------------------------------- */
+/* --- fontdef for cmmib325 --- */
+static	chardef  cmmib325[] =
+   {
+      /* --- pixel bitmap for cmmib325 char#0 \Gamma --- */
+      {   0,58723,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 34,   31, 3,127, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\x8e\x0c\xc6\xb4\xd6\xc3\x10\xf1\xb7\xc3\x10\xf1"
+            "\xb6\xe2\x10\xa7\xd3\xb7\xd2\xc6\xe2\xc6\xe0\x40\xf1"
+            "\x97\xe0\x40\xf1\x96\xe0\x50\xf1\x87\xe0\x50\xf1\x86"
+            "\xe0\x60\xf1\x77\xe0\x60\xf1\x76\xe0\x70\xf1\x67\xe0"
+            "\x70\xf1\x66\xe0\x80\x57\xe0\x8f\x1e\x03\xe0\x34" }  },
+      /* --- pixel bitmap for cmmib325 char#1 \Delta --- */
+      {   1,59670,                      /* character number, location */
+         32, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 37,   32, 3,180, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xb3\xe0\xe0\x54\xe0\xe0\x45\x90\xf1\xe0\x87\x80"
+            "\xe0\x78\xe0\xe2\x17\xe0\xc3\x17\xe0\xb3\x27\xe0\xb2"
+            "\x47\xe0\x92\x57\xe0\x82\x67\xe0\x72\x87\xe0\x53\x87"
+            "\xe0\x43\x97\xe0\x42\xb7\xe0\x22\xc7\xe0\x12\xd7\xe3"
+            "\xe7\xc3\xe0\x17\xc2\xe0\x27\xb2\xe0\x47\x92\xe0\x57"
+            "\x82\xe0\x67\x73\xe0\x76\x63\xe0\x87\x52\xe0\x97\x4e"
+            "\x0e\x05\x3e\x0e\x07\x1e\x0e\x08\x0f\x1e\x0e\x09" }  },
+      /* --- pixel bitmap for cmmib325 char#2 \Theta --- */
+      {   2,60897,                      /* character number, location */
+         32, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 35,   33, 3,181, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x3a\xe0\x8e\x01\xe0\x46\x67\xe6\xa6\xc5\xd6\x96"
+            "\xe0\x16\x76\xe0\x26\x67\xe0\x36\x56\xe0\x46\x46\xe0"
+            "\x56\x37\xe0\x56\x36\xe0\x66\x27\x42\x82\x46\x27\x42"
+            "\x73\x46\x17\x4d\x37\xf1\x17\x4c\x47\x17\x3d\x4e\x4d"
+            "\x37\x1f\x17\x42\x82\x47\x17\xe0\x57\x27\xe0\x56\x37"
+            "\xe0\x47\x46\xe0\x46\x56\xe0\x36\x66\xe0\x26\x86\xe6"
+            "\x96\xd6\xb6\xb6\xe6\x67\xe0\x3e\x02\xe0\x8a\xe0\x2c" }  },
+      /* --- pixel bitmap for cmmib325 char#3 \Lambda --- */
+      {   3,61975,                      /* character number, location */
+         32, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 32,   32, 3,156, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x92\xe0\xe0\x13\xe0\xe4\xe0\xe5\xe0\xc6\x60\xf1"
+            "\xe0\x57\x60\xf1\xe0\x48\x60\xe0\x32\x16\xe0\x82\x26"
+            "\xe0\x82\x27\xe0\x62\x37\xe0\x53\x37\xe0\x52\x56\x50"
+            "\xf1\xd2\x66\x50\xc2\x76\xe0\x22\x86\xe0\x22\x87\xe2"
+            "\x97\xd3\x97\xd2\xb6\x40\xf1\x82\xc6\x40\x72\xd6\x40"
+            "\xf1\x62\xe7\x30\x52\xe0\x17\x73\xe0\x17\x3f\x1a\x8e" }  },
+      /* --- pixel bitmap for cmmib325 char#4 \Xi --- */
+      {   4,63484,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 38,   31, 3,151, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x8e\x0e\x02\x7e\x0e\x03\xf2\x7e\x0e\x02\x10\x63\xe0"
+            "\xb3\x10\xf2\x62\xe0\xc2\x20\xe0\xe0\xa0\xf1\xa2\xe0"
+            "\x22\x80\xae\x06\xe0\x3e\x07\x80\xf1\x9e\x06\x90\x8e"
+            "\x07\xe0\x33\xe0\x12\xe0\x42\xe0\x22\xa0\xf2\xe0\xe0"
+            "\xa0\xf1\x22\xe0\xc2\x60\x22\xe0\xb3\x73\xe0\xb3\x60"
+            "\xf2\x1e\x0e\x02\x7e\x0e\x03\x7e\x0e\x02\x8f" }  },
+      /* --- pixel bitmap for cmmib325 char#5 \Pi --- */
+      {   5,64801,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 43,   31, 3,151, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\x8e\x0e\x07\xf1\xc6\xe6\x50\xb7\xd7\xe0\x27\xd6"
+            "\x60\xf1\xb6\xe6\x60\xa7\xd7\xe0\x27\xd6\x70\xf1\xa6"
+            "\xe6\x70\x97\xd7\xe0\x27\xd6\x80\xf1\x96\xe6\x80\x87"
+            "\xd7\xe0\x27\xd6\x90\xf1\x86\xe6\x90\x77\xd7\xe0\x27"
+            "\xd6\xa0\xf1\x76\xe6\xa0\x67\xd7\xe0\x27\xd6\xb0\xf1"
+            "\x66\xe6\xb0\x57\xd7\xbf\x1e\x02\x4e\x02\x7f" }  },
+      /* --- pixel bitmap for cmmib325 char#6 \Sigma --- */
+      {   6,66042,                      /* character number, location */
+         31, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 38,   31, 3,191, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x8e\x0e\x02\x7e\x0e\x03\x88\xe0\x16\xa7\xe0\x34\xa8"
+            "\xe0\x33\xb7\xe0\x33\xb8\xe0\x23\xc7\xe0\x23\xc8\xe0"
+            "\x13\xd7\xe0\x12\xe8\xe2\xe0\x17\xe0\xe0\x38\xe0\x30"
+            "\xf1\xe8\xe0\x20\xe0\x17\xe0\xe0\x46\xe0\xe0\x44\xe0"
+            "\xe0\x54\xe0\xe0\x53\xe0\x12\xe0\x33\xe0\x13\xe0\x14"
+            "\xe0\x22\xe0\x13\xe0\x33\xe3\xe0\x43\xc4\xe0\x43\xc3"
+            "\xe0\x54\xa4\xe0\x55\x93\xe0\x47\x8e\x0e\x02\x7e\x0e"
+            "\x03\x7e\x0e\x02\x80" }  },
+      /* --- pixel bitmap for cmmib325 char#7 \Upsilon --- */
+      {   7,67152,                      /* character number, location */
+         32, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 34,   32, 3,137, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x65\xe0\x16\x69\xb9\x4b\x9b\x2d\x6d\x1e\x5e\x13\x57"
+            "\x46\x56\x85\x35\x84\x95\x25\x92\xc4\x24\xe0\xa4\x14"
+            "\xd0\xf1\xc8\xe0\xf1\xc7\xe0\x10\xf2\xc6\xe0\x20\xf1"
+            "\xb7\xe0\x20\xf1\xb6\xe0\x30\xf1\xa7\xe0\x30\xf1\xa6"
+            "\xe0\x40\xf1\x97\xe0\x40\xf1\x96\xe0\x50\x87\xe0\x50"
+            "\xf1\x2e\x04\xe3" }  },
+      /* --- pixel bitmap for cmmib325 char#8 \Phi --- */
+      {   8,68252,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 31,   31, 3,145, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\xae\x05\x20\xf1\xe0\x26\x90\xf1\xe0\x17\x90\xe0"
+            "\x16\xe0\x7c\xe0\x2e\x05\x97\x27\x16\x76\x46\x37\x37"
+            "\x56\x46\x10\xf1\x17\x57\x47\x0f\x17\x66\x57\x07\x57"
+            "\x5e\x57\x47\x17\x56\x56\x27\x56\x46\x46\x47\x36\x67"
+            "\x27\x16\xae\x05\xe0\x1c\xc0\xf1\xa7\xe0\xf1\xa6\xe0"
+            "\x10\x97\xe0\x10\xf1\x3e\x04\xa0" }  },
+      /* --- pixel bitmap for cmmib325 char#9 \Psi --- */
+      {   9,69417,                      /* character number, location */
+         31, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 34,   31, 3,157, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf1\x9e\x05\x60\xf1\xe0\x16\xd0\xf1\xe7\xd7\x76\x7e"
+            "\x01\x66\x68\x26\x57\x57\x46\x57\x47\x30\xf1\x26\x56"
+            "\x56\x40\x26\x47\x47\x57\x47\x46\x66\x56\x56\x66\x56"
+            "\x47\x66\x47\x46\x76\x47\x37\x85\x46\x46\x96\x36\x36"
+            "\xb5\x27\x26\xde\x05\xe0\x2e\x02\xe0\x7a\xe0\x20\xf1"
+            "\x97\xe0\x40\xf1\x96\xe0\x50\x87\xe0\x50\xf1\x2e\x04"
+            "\xe0" }  },
+      /* --- pixel bitmap for cmmib325 char#10 \Omega --- */
+      {  10,70692,                      /* character number, location */
+         32, 4,    0, 4,      /* topleft row,col, and botleft row,col */
+          { 35,   32, 3,165, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x3a\xe0\x8e\x02\xe0\x37\x76\xd6\xb6\xa7\xd6\x87"
+            "\xe7\xf1\x67\xe0\x26\x57\xe0\x36\x57\xe0\x27\x48\xe0"
+            "\x27\xf1\x47\xe0\x37\x47\xe0\x28\x47\xe0\x27\x57\xe0"
+            "\x18\x57\xe0\x17\x67\xe7\x86\xe6\x96\xd6\xb5\xd5\xc5"
+            "\xc5\xe4\xc4\xe0\x14\xb4\x92\x63\xb3\x62\x22\x63\xa4"
+            "\x53\x22\x63\xa3\x62\x32\x63\x93\x63\x3b\x9b\x4b\x9a"
+            "\x5a\x9b\x5a\x9a\x65" }  },
+      /* --- pixel bitmap for cmmib325 char#11 \alpha --- */
+      {  11,71804,                      /* character number, location */
+         20, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 31,   20, 3,101, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xb7\xe0\x7d\xe0\x26\x55\x62\x65\x85\x52\x55\xa5\x42"
+            "\x45\xb5\x32\x46\xb6\x22\x20\xf1\x16\xd5\x12\x30\x16"
+            "\xd7\x46\xe7\x46\xe6\x5f\x16\xe5\x60\x15\xe5\x75\xd6"
+            "\x84\xb3\x15\x85\x65\x25\x32\x4d\x58\x78\xa5\x25" }  },
+      /* --- pixel bitmap for cmmib325 char#12 \beta --- */
+      {  12,72925,                      /* character number, location */
+         31, 0,   -9, 0,      /* topleft row,col, and botleft row,col */
+          { 28,   40, 3,157, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x37\xe0\x5b\xe0\x14\x64\xd3\x94\xb2\xb4\xa2\xc4"
+            "\x92\xd4\x83\xc5\x82\xd5\x72\xe4\x82\xd4\x92\x57\x14"
+            "\x92\x4c\x92\x4c\xa2\x5c\x30\xf1\x62\xe4\x20\x52\xe0"
+            "\x14\x20\xf2\x52\xe0\x15\x10\xf2\x42\xe0\x15\x20\x42"
+            "\xe0\x14\x63\xe5\x64\xd4\x74\xc4\x82\x13\x85\x82\x3e"
+            "\x92\x4a\xa0\xf1\x22\xe0\xa0\xf3\x12\xe0\xbf\x22\xe0"
+            "\xca" }  },
+      /* --- pixel bitmap for cmmib325 char#13 \gamma --- */
+      {  13,73914,                      /* character number, location */
+         20, 0,  -10, 0,      /* topleft row,col, and botleft row,col */
+          { 28,   30, 3,113, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x76\xd2\x5a\xa2\x5c\x92\x4e\x72\x4e\x02\x62\x33\xa4"
+            "\x52\x42\xd3\x42\x32\xe0\x12\x32\xe0\x72\x32\x40\xf1"
+            "\xe0\x42\x12\x50\xf1\xe0\x44\x60\xf2\xe0\x43\x70\xf2"
+            "\xe0\x42\x80\xf2\xe0\x33\x80\xf3\xe0\x23\x90\xf2\xe0"
+            "\x13\xa0\xe0\x12\xb4" }  },
+      /* --- pixel bitmap for cmmib325 char#14 \delta --- */
+      {  14,74911,                      /* character number, location */
+         32, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 21,   32, 3,107, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xa7\xdb\x92\x38\x82\x55\x83\x73\x92\xe0\x53\xe0\x44"
+            "\xe0\x35\xe0\x35\xe0\x26\xe0\x26\xe0\x17\xbb\x9c\x84"
+            "\x36\x74\x56\x54\x66\x45\x66\x20\xf2\x15\x85\x2f\x15"
+            "\x94\x35\x85\x3f\x15\x84\x45\x74\x64\x74\x74\x54\x9b"
+            "\xb8\x90" }  },
+      /* --- pixel bitmap for cmmib325 char#15 \epsilon --- */
+      {  15,75849,                      /* character number, location */
+         20, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 19,   20, 3,49, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xa8\x9a\x76\xb6\xc6\xd5\xd6\xc6\xc0\xf1\x1e\x01\x3f"
+            "\x26\xd0\xf2\x15\xd0\x25\xa1\x46\x64\x5c\x98\x4c" }  },
+      /* --- pixel bitmap for cmmib325 char#16 \zeta --- */
+      {  16,76777,                      /* character number, location */
+         31, 2,   -9, 2,      /* topleft row,col, and botleft row,col */
+          { 22,   40, 3,119, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xd2\x70\xf1\xc2\x80\xc9\xda\xba\xb3\x16\xb3\xe0\x34"
+            "\xe0\x43\xe0\x43\xe0\x43\xe0\x44\xe0\xf1\x34\xe0\x10"
+            "\xf1\x24\xe0\x20\xf3\x14\xe0\x3f\x35\xe0\x36\xe0\x35"
+            "\xe0\x37\xe0\x1a\xdd\xae\x9e\xac\xe8\xe0\x35\x40\xf1"
+            "\xe4\x40\x82\x43\xd8\xe0\x25\x74" }  },
+      /* --- pixel bitmap for cmmib325 char#17 \eta --- */
+      {  17,77734,                      /* character number, location */
+         20, 1,  -10, 1,      /* topleft row,col, and botleft row,col */
+          { 25,   30, 3,99, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x45\x76\x67\x4a\x32\x34\x23\x45\x22\x37\x74\x12\x46"
+            "\x84\x12\x45\x96\x45\x95\xf2\x65\x95\xf3\x55\x95\x10"
+            "\xf3\x45\x95\x20\x44\x95\x73\xa5\x30\xf1\xe0\x35\x30"
+            "\xf3\xe0\x25\x40\xf2\xe0\x15\x50\xe0\x23\x65" }  },
+      /* --- pixel bitmap for cmmib325 char#18 \theta --- */
+      {  18,78552,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 24,   31, 3,111, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xd5\xe0\x2a\xd4\x44\xb4\x64\x94\x75\x74\x85\x65\x85"
+            "\x10\xf1\x45\x96\x36\x96\x35\xa6\x26\xa6\x26\xa5\x26"
+            "\xa6\x10\xf2\x1e\x08\x1f\x26\xa6\x26\xa5\x36\x96\x35"
+            "\xa5\x45\x96\x45\x95\x64\x85\x74\x84\x94\x64\xa5\x35"
+            "\xd9\xe0\x26\xd3" }  },
+      /* --- pixel bitmap for cmmib325 char#19 \iota --- */
+      {  19,79275,                      /* character number, location */
+         20, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 15,   20, 3,51, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x63\xb4\x60\xf3\x45\x60\xf2\x35\x70\xf2\x25\x80\x15"
+            "\xa5\x72\x15\x62\x15\x72\x15\x53\x34\x34\x4a\x75\x76" }  },
+      /* --- pixel bitmap for cmmib325 char#20 \kappa --- */
+      {  20,80231,                      /* character number, location */
+         20, 3,    0, 3,      /* topleft row,col, and botleft row,col */
+          { 26,   20, 3,95, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x53\xb4\x74\x96\x65\x78\x65\x62\x25\x65\x43\x43\x75"
+            "\x32\xe0\x15\x32\xe0\x25\x13\xe0\x38\xe0\x4e\xb5\x39"
+            "\x95\x76\x85\x85\x85\x85\x52\x0f\x15\x95\x42\x15\x95"
+            "\x32\x25\xa4\x23\x24\xc7\x33\xe4\x54" }  },
+      /* --- pixel bitmap for cmmib325 char#21 \lambda --- */
+      {  21,81134,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 27,   31, 3,116, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x57\xe0\x68\xe0\x77\xe0\x76\xd0\xf1\x96\xc0\xf1\xa6"
+            "\xb0\xb5\xb0\xf1\xb6\xa0\xf1\xc6\x90\xf1\xd6\x80\xf1"
+            "\xe6\x70\xd8\xe0\x49\xe0\x33\x26\xe4\x36\xd4\x55\xc4"
+            "\x66\xa5\x66\x86\x86\x66\x96\x56\xb6\x36\xc6\x26\xe6"
+            "\x15\xe0\x16\x23\xe0\x36" }  },
+      /* --- pixel bitmap for cmmib325 char#22 \mu --- */
+      {  22,82210,                      /* character number, location */
+         20, 2,  -10, 2,      /* topleft row,col, and botleft row,col */
+          { 29,   30, 3,103, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x83\xb3\xb4\xa4\x40\xf3\x65\x95\x40\xf3\x55\x95\x50"
+            "\xf2\x45\x95\x60\x45\x95\x42\xf1\x36\x85\x42\x10\x36"
+            "\x76\x32\x57\x43\x14\x32\x4e\x37\x55\x16\x65\x40\xf1"
+            "\x25\xe0\x80\xf3\x15\xe0\x9f\x25\xe0\xa0\x13\xe0\xb6" }  },
+      /* --- pixel bitmap for cmmib325 char#23 \nu --- */
+      {  23,83061,                      /* character number, location */
+         20, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 24,   20, 3,77, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x19\xb3\x19\xa4\x46\x95\xf1\x45\xa5\xf1\x36\x95\x10"
+            "\xf1\x35\x95\x20\x26\x85\x56\x75\x65\x75\x75\x65\x76"
+            "\x55\x86\x45\x95\x35\xb5\x24\xca\xe8\xe0\x25\xe0\x51" }  },
+      /* --- pixel bitmap for cmmib325 char#24 \xi --- */
+      {  24,84217,                      /* character number, location */
+         31, 1,   -9, 1,      /* topleft row,col, and botleft row,col */
+          { 22,   40, 3,113, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xd2\x70\xf1\xc2\x80\xc9\xbc\x8d\x86\x16\x86\xa0\xf1"
+            "\x56\xb0\xf4\x46\xc0\x5d\xad\x9c\x9c\x93\xe0\x43\xe0"
+            "\x44\xe0\x43\xe0\x30\xf1\x14\xe0\x3f\x15\xe0\x36\xe0"
+            "\x37\xe0\x1a\xdc\xbe\x9e\xbc\xd9\xe0\x26\xe0\x44\xb3"
+            "\x43\xc9\xe0\x25\x60" }  },
+      /* --- pixel bitmap for cmmib325 char#25 \pi --- */
+      {  25,85197,                      /* character number, location */
+         20, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 29,   20, 3,97, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x6e\x09\x5e\x0a\x4e\x0b\x3e\x0b\x33\x62\x52\xa2\x82"
+            "\x52\xa1\x83\x52\xe0\x52\x62\x90\xf1\x93\x53\x90\x84"
+            "\x54\xe0\x23\x64\x80\xf1\x74\x64\x80\x65\x65\xd4\x75"
+            "\x70\xf1\x55\x76\x60\x54\x94\xd2\xb2\x86" }  },
+      /* --- pixel bitmap for cmmib325 char#26 \rho --- */
+      {  26,86073,                      /* character number, location */
+         20, 2,  -10, 2,      /* topleft row,col, and botleft row,col */
+          { 26,   30, 3,99, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xe7\xe0\x2c\xd4\x55\xa5\x75\x85\x85\x84\x96\x65\x96"
+            "\xf2\x55\xa6\xf2\x45\xa6\x10\x45\x96\x20\xf1\x35\xa5"
+            "\x30\x35\x95\x77\x55\x85\x1b\x95\x36\xa0\xf1\x25\xe0"
+            "\x50\xf3\x15\xe0\x6f\x25\xe0\x70\x13\xe0\x80" }  },
+      /* --- pixel bitmap for cmmib325 char#27 \sigma --- */
+      {  27,87047,                      /* character number, location */
+         20, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 28,   20, 3,71, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xae\x04\x7e\x07\x6e\x08\x5e\x08\x55\x75\xa5\x95\x85"
+            "\xa5\x60\xf2\x15\xb5\x6f\x25\xb5\x7f\x15\xa5\x80\x14"
+            "\x95\xa4\x85\xc4\x65\xec\xe0\x47\xe0\x20" }  },
+      /* --- pixel bitmap for cmmib325 char#28 \tau --- */
+      {  28,87840,                      /* character number, location */
+         20, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 26,   20, 3,63, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x6e\x06\x5e\x07\x4e\x08\x3e\x08\x33\x73\xc2\x92\xd1"
+            "\x93\xc0\xf1\xb3\xc0\xf2\xa4\xc0\xf2\x94\xd0\xf2\x85"
+            "\xd0\x75\xe0\x83\xe0\x1c" }  },
+      /* --- pixel bitmap for cmmib325 char#29 \upsilon --- */
+      {  29,88761,                      /* character number, location */
+         20, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 26,   20, 3,81, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x55\xb3\x68\x86\x32\x34\x86\x22\x45\x67\x12\x55\x67"
+            "\x12\x45\x88\x55\xb3\xf2\x65\xd2\xf1\x55\xd2\x10\xf1"
+            "\x55\xc2\x20\x55\xb2\x85\xa2\x95\x92\xb5\x63\xdc\xe0"
+            "\x28\x93" }  },
+      /* --- pixel bitmap for cmmib325 char#30 \phi --- */
+      {  30,89697,                      /* character number, location */
+         31, 2,   -9, 2,      /* topleft row,col, and botleft row,col */
+          { 29,   40, 3,143, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x52\x80\xf3\xe0\x42\x90\xf3\xe0\x32\xa0\xf1\xe0"
+            "\x22\xb0\xad\xee\x03\xa5\x42\x54\x84\x62\x64\x64\x72"
+            "\x74\x44\x82\x74\x35\x72\x85\xf2\x15\x82\x85\x0f\x25"
+            "\x82\x85\x15\x82\x75\x34\x72\x84\x44\x72\x74\x64\x62"
+            "\x64\x84\x52\x45\xae\x03\xed\xa0\xf1\xb2\xe0\x20\xf3"
+            "\xa2\xe0\x30\xf2\x92\xe0\x40" }  },
+      /* --- pixel bitmap for cmmib325 char#31 \chi --- */
+      {  31,90832,                      /* character number, location */
+         20, 2,   -9, 2,      /* topleft row,col, and botleft row,col */
+          { 29,   29, 3,147, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x36\xe0\x42\x29\xe0\x13\x12\x36\xd3\x12\x56\xb3\x97"
+            "\x93\xb6\x83\xd6\x63\xe6\x53\xe0\x25\x43\xe0\x36\x23"
+            "\xe0\x46\x13\xe0\x68\xe0\x77\xe0\x86\xc0\xf1\xc5\xc0"
+            "\xb7\xe0\x72\x15\xe0\x62\x25\xe0\x52\x36\xe0\x32\x46"
+            "\xe0\x22\x66\xe2\x76\xd2\x96\xb2\xa6\xa2\xc6\x52\x12"
+            "\xd7\x32\x12\xe0\x1a\x21\xe0\x47\x32" }  },
+      /* --- pixel bitmap for cmmib325 char#32 \psi --- */
+      {  32,91961,                      /* character number, location */
+         31, 1,   -9, 1,      /* topleft row,col, and botleft row,col */
+          { 32,   40, 3,167, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xf2\xe0\x82\x80\xf3\xe0\x72\x90\xf3\xe0\x62\xa0\x55"
+            "\x92\x63\x68\x72\x55\x42\x34\x72\x56\x22\x45\x62\x47"
+            "\x12\x55\x52\x57\x12\x45\x62\x68\x55\x62\x93\x66\x62"
+            "\xa2\xf1\x65\x62\xb2\xf1\x55\x72\xa2\x10\x55\x62\xa2"
+            "\x75\x62\x92\x85\x62\x82\x95\x62\x72\xb5\x42\x63\xd6"
+            "\x22\x44\xe0\x1e\x01\xe0\x69\xc0\xf3\xe2\xe0\x20\xf3"
+            "\xd2\xe0\x30\xc2\xe0\x43" }  },
+      /* --- pixel bitmap for cmmib325 char#33 \omega --- */
+      {  33,93116,                      /* character number, location */
+         20, 0,    0, 0,      /* topleft row,col, and botleft row,col */
+          { 31,   20, 3,109, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x52\xe0\x53\x63\xe0\x45\x52\xe0\x56\x33\xe0\x47\x23"
+            "\xe0\x57\x22\xe0\x76\x22\xe0\x94\x12\xc3\xa3\x12\xc3"
+            "\xb2\x12\xb4\xb4\xc4\xa2\x13\xb3\xb2\x13\xb3\xa3\x13"
+            "\xa4\x93\x24\x86\x73\x4e\x0d\x4d\x1c\x6b\x2b\x89\x49"
+            "\xa6\x85\x82" }  },
+      /* --- pixel bitmap for cmmib325 char#34 \varepsilon --- */
+      {  34,94135,                      /* character number, location */
+         21, 1,   -1, 1,      /* topleft row,col, and botleft row,col */
+          { 20,   22, 3,75, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xa7\xac\x6e\x01\x45\x74\x42\xc1\x10\xf2\x32\xe0\x10"
+            "\x32\x44\xab\xab\x8b\x82\xe0\x20\xf1\x12\xe0\x32\xe0"
+            "\x42\xe0\x12\x22\xe2\x24\xa3\x4e\x01\x6d\x98\x73" }  },
+      /* --- pixel bitmap for cmmib325 char#35 \vartheta --- */
+      {  35,95166,                      /* character number, location */
+         31, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 28,   31, 3,147, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x36\xe0\x6a\xe0\x33\x54\xe0\x13\x64\xe0\x12\x84"
+            "\xd2\x94\x10\xf1\xc2\x95\xc2\x86\xc3\x76\xd2\x76\x45"
+            "\x52\x66\x37\x53\x45\x32\x34\x5b\x32\x35\x69\x10\xf1"
+            "\x12\x45\x97\x02\x45\x96\x20\xf1\x65\x96\x20\x65\x95"
+            "\x85\x96\x30\xf1\x55\x95\x40\x55\x85\xa5\x84\xb5\x74"
+            "\xc5\x64\xd6\x44\xe0\x1c\xe0\x48\xc3" }  },
+      /* --- pixel bitmap for cmmib325 char#36 \varpi --- */
+      {  36,96471,                      /* character number, location */
+         20, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 42,   20, 3,129, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x6e\x0e\x08\x5e\x0e\x09\x4e\x0e\x0a\x3e\x0e\x0a\x33"
+            "\x52\xe0\xb2\x42\x62\xe0\xc2\x41\x62\xe0\xd2\xb2\xc2"
+            "\xd2\xa2\xd2\xd2\xa2\xc3\xd2\x92\xd3\xc2\xa2\xc4\xc2"
+            "\xa2\xb5\xb2\xb2\xa6\xa3\xb2\x94\x13\x83\xc4\x55\x24"
+            "\x54\xdd\x3c\xe0\x1b\x5a\xe0\x38\x88\xe0\x55\xb5\xc4" }  },
+      /* --- pixel bitmap for cmmib325 char#37 \varrho --- */
+      {  37,97424,                      /* character number, location */
+         20, 4,   -9, 4,      /* topleft row,col, and botleft row,col */
+          { 24,   29, 3,99, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xc7\xec\xb4\x55\x85\x75\x65\x85\x64\x96\x45\x96\xf2"
+            "\x35\xa6\xf2\x25\xa6\x10\x25\x96\x20\xf1\x16\x95\x30"
+            "\x16\x85\x52\x14\x55\x72\x2c\x72\x57\xaf\x22\xe0\x84"
+            "\xe0\x6e\x02\x8e\x03\x8e\x02\xae\xe0\x82\x74" }  },
+      /* --- pixel bitmap for cmmib325 char#38 \varsigma --- */
+      {  38,98293,                      /* character number, location */
+         20, 2,   -4, 2,      /* topleft row,col, and botleft row,col */
+          { 18,   24, 3,53, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x97\x8c\x55\x53\x34\xd4\xd4\xe3\xef\x24\xe5\xd6\xc9"
+            "\xaa\x9b\x8b\x9a\xa9\xb7\xd5\x20\xf1\xb4\x30\x77\xc4"
+            "\x66" }  },
+      /* --- pixel bitmap for cmmib325 char#39 \varphi --- */
+      {  39,99248,                      /* character number, location */
+         20, 2,  -10, 2,      /* topleft row,col, and botleft row,col */
+          { 31,   30, 3,141, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x52\xe0\x15\x82\xe9\x52\xea\x52\xdc\x32\xd4\x55\x22"
+            "\xc3\x93\x22\xb3\xb2\x12\xc2\xc2\x12\xb2\xd2\x12\xb1"
+            "\xe2\x0f\x12\xb2\xd2\x13\x92\xd2\x32\x92\xc3\x34\x72"
+            "\xa4\x56\x33\x67\x7e\x08\xae\x06\xde\x02\xe0\x4a\xe0"
+            "\x83\xe0\x40\xf2\x94\xe0\x40\x85\xe0\xc4\xe0\x50\xf2"
+            "\x75\xe0\x50\x83\xe0\x6c" }  },
+      /* --- pixel bitmap for cmmib325 char#40 \bfleftharpoonup --- */
+      {  40,115758,                     /* character number, location */
+         24, 3,   10, 3,      /* topleft row,col, and botleft row,col */
+          { 46,   14, 2,28, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x0c\x01\x2c\x03\x2a\x04\x2a\x03\x2a\x04\x29\x04\x29"
+            "\x04\x29\x05\x28\x05\x28\x05\x28\x05\x27\x2d\x00\xff"
+            "\x01\x2e" }  },
+      /* --- pixel bitmap for cmmib325 char#41 \bfleftharpoondown --- */
+      {  41,116800,                     /* character number, location */
+         13, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 46,   14, 2,29, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xff\x01\x00\x2e\x01\x2d\x03\x05\x2a\x05\x2a\x05\x2a"
+            "\x05\x2a\x04\x2b\x04\x2b\x04\x2b\x03\x2b\x04\x2b\x03"
+            "\x2c\x01\x21" }  },
+      /* --- pixel bitmap for cmmib325 char#42 \bfrightharpoonup --- */
+      {  42,117840,                     /* character number, location */
+         24, 3,   10, 3,      /* topleft row,col, and botleft row,col */
+          { 46,   14, 2,28, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x21\x01\x2c\x03\x2b\x04\x2b\x03\x2b\x04\x2b\x04\x2b"
+            "\x04\x2a\x05\x2a\x05\x2a\x05\x2a\x05\x03\x2d\x01\xff"
+            "\x01\x2e" }  },
+      /* --- pixel bitmap for cmmib325 char#43 \bfrightharpoondown --- */
+      {  43,118883,                     /* character number, location */
+         13, 3,   -1, 3,      /* topleft row,col, and botleft row,col */
+          { 46,   14, 2,29, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xff\x01\x00\x2e\x00\x2d\x27\x05\x28\x05\x28\x05\x28"
+            "\x05\x29\x04\x29\x04\x29\x04\x2a\x03\x2a\x04\x2a\x03"
+            "\x2c\x01\x0c" }  },
+      /* --- pixel bitmap for cmmib325 char#44 ` --- */
+      {  44,119318,                     /* character number, location */
+         23, 3,   10, 3,      /* topleft row,col, and botleft row,col */
+          {  8,   13, 3,18, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x35\x26\x1b\x4f\x43\x54\x57\x26\x35" }  },
+      /* --- pixel bitmap for cmmib325 char#45 ' --- */
+      {  45,119752,                     /* character number, location */
+         23, 3,   10, 3,      /* topleft row,col, and botleft row,col */
+          {  8,   13, 3,19, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x05\x36\x27\x54\xf4\x53\x4b\x16\x25\x30" }  },
+      /* --- pixel bitmap for cmmib325 char#46 \triangleright --- */
+      {  46,120303,                     /* character number, location */
+         24, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 22,   25, 3,91, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x12\xe0\x55\xe0\x36\xe0\x28\xe3\x16\xc3\x26\xb3\x46"
+            "\x93\x66\x73\x77\x53\x96\x43\xb6\x23\xd9\xe8\xd9\xb6"
+            "\x23\x96\x43\x86\x53\x66\x73\x46\x93\x27\xa3\x16\xc8"
+            "\xe6\xe0\x25\xe0\x42\xe0\x5e" }  },
+      /* --- pixel bitmap for cmmib325 char#47 \triangleleft --- */
+      {  47,120911,                     /* character number, location */
+         24, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 22,   25, 3,94, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xe0\x53\xe0\x35\xe0\x26\xe8\xc6\x13\xb6\x23\x96\x43"
+            "\x76\x63\x57\x73\x46\x93\x26\xb3\x15\xd8\xe3\x15\xd3"
+            "\x26\xb3\x46\x93\x56\x83\x76\x63\x96\x43\xa7\x23\xc6"
+            "\x13\xe8\xe0\x26\xe0\x35\xe0\x53" }  },
+      /* --- pixel bitmap for cmmib325 char#48 \0 --- */
+      {  48,105909,                     /* character number, location */
+         21, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 22,   22, 3,47, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x78\xbe\x75\x65\x55\x85\x20\xf2\x15\xa5\x1f\x86\xa6"
+            "\xf1\x15\xa5\x10\x25\x85\x55\x65\x7e\xb8\x70" }  },
+      /* --- pixel bitmap for cmmib325 char#49 \1 --- */
+      {  49,106716,                     /* character number, location */
+         21, 4,    0, 4,      /* topleft row,col, and botleft row,col */
+          { 18,   21, 3,22, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xa2\xd5\x6f\x1c\x60\xfe\x75\x60\xf1\x1e\x03" }  },
+      /* --- pixel bitmap for cmmib325 char#50 \2 --- */
+      {  50,107704,                     /* character number, location */
+         21, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 21,   21, 3,71, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x69\xad\x64\x67\x42\x97\x23\xa6\x24\x97\x14\xa6\x22"
+            "\xb6\xe7\xe6\xe6\xe5\xe5\xe0\x14\x62\x74\x82\x63\x93"
+            "\x4e\x03\x3e\x03\x2e\x05\x1f\x1e\x06\x16" }  },
+      /* --- pixel bitmap for cmmib325 char#51 \3 --- */
+      {  51,108759,                     /* character number, location */
+         21, 2,  -10, 2,      /* topleft row,col, and botleft row,col */
+          { 22,   31, 3,111, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x78\xcc\x93\x56\x72\x86\x54\x86\x20\xf2\x25\x76\x20"
+            "\x34\x67\x20\xf1\xd6\x30\xc6\xe0\x15\x60\xf1\x78\x70"
+            "\xd5\xe0\x45\xe0\x36\x20\xf1\xe0\x16\x10\xe0\x17\x22"
+            "\xb7\x14\xa7\x0f\x16\x97\x06\x96\x24\x97\x23\xa6\x44"
+            "\x76\x7d\xb9\x79" }  },
+      /* --- pixel bitmap for cmmib325 char#52 \4 --- */
+      {  52,109734,                     /* character number, location */
+         21, 1,   -9, 1,      /* topleft row,col, and botleft row,col */
+          { 24,   30, 3,96, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xe0\x23\xe0\x64\xe0\x55\xe0\x46\x50\xf1\xc7\x50\xb2"
+            "\x15\xe0\x13\x15\xe3\x25\xd3\x35\xc3\x45\xb3\x55\xb2"
+            "\x65\xa2\x75\x93\x75\x83\x85\x73\x95\x63\xa5\x53\xb5"
+            "\x5f\x1e\x0a\xf6\xe5\x50\xf1\x9e\x01" }  },
+      /* --- pixel bitmap for cmmib325 char#53 \5 --- */
+      {  53,110815,                     /* character number, location */
+         21, 3,  -10, 3,      /* topleft row,col, and botleft row,col */
+          { 20,   31, 3,103, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x23\xa3\x4e\x02\x4e\x01\x5e\x6d\x7b\x97\xb0\xf3\x22"
+            "\xe0\x20\x22\x36\x92\x1b\x65\x55\x54\x75\x43\x95\x32"
+            "\xa5\xe0\x15\x10\xf1\xe6\x22\xa6\x14\x96\x0f\x15\x96"
+            "\x05\x95\x14\xa5\x22\xa5\x42\x94\x63\x55\x8b\xb6\x84" }  },
+      /* --- pixel bitmap for cmmib325 char#54 \6 --- */
+      {  54,111760,                     /* character number, location */
+         30, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 22,   31, 3,97, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xa7\xdb\x95\x63\x74\x84\x54\x85\x44\x95\x35\xa3\x45"
+            "\xe0\x10\xf2\x15\xe0\x26\x38\x56\x2a\x46\x11\x74\x38"
+            "\x75\x2f\x17\x95\x1f\x46\xa6\xf1\x15\xa6\x15\xa5\x34"
+            "\xa5\x35\x94\x54\x84\x75\x54\xab\xd7\x75" }  },
+      /* --- pixel bitmap for cmmib325 char#55 \7 --- */
+      {  55,112723,                     /* character number, location */
+         21, 3,  -10, 3,      /* topleft row,col, and botleft row,col */
+          { 22,   31, 3,87, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x12\xe0\x50\xf1\x1e\x07\x1e\x06\x2e\x05\x2e\x06\x23"
+            "\xd3\x32\xd3\x42\xc3\x52\xb3\xe0\x52\xe0\x53\xe0\x43"
+            "\x80\xf1\xa3\x90\xf1\x93\xa0\xf1\x84\xa0\xf3\x74\xb0"
+            "\xf6\x65\xb0\x73\xc4" }  },
+      /* --- pixel bitmap for cmmib325 char#56 \8 --- */
+      {  56,113678,                     /* character number, location */
+         30, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 22,   31, 3,97, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x87\xdb\x94\x64\x74\x84\x63\x94\x30\xf2\x24\xa4\x20"
+            "\x25\x94\x46\x84\x48\x54\x69\x24\x7e\x9c\xbc\xae\x74"
+            "\x1b\x45\x4a\x33\x79\x24\x9c\xca\xd5\x0f\x24\xe4\x04"
+            "\xe3\x24\xc4\x34\xb3\x55\x74\x7d\xc8\x75" }  },
+      /* --- pixel bitmap for cmmib325 char#57 \9 --- */
+      {  57,114637,                     /* character number, location */
+         21, 2,  -10, 2,      /* topleft row,col, and botleft row,col */
+          { 22,   31, 3,97, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x77\xdc\x94\x55\x74\x84\x55\x85\x35\xa4\x35\xa5\x1f"
+            "\x16\xa5\x1f\x46\xa6\xf1\x15\x97\x25\x78\x34\x71\x16"
+            "\x4a\x26\x58\x36\xf2\xe0\x25\x10\xe0\x15\x43\xa5\x35"
+            "\x94\x45\x84\x54\x85\x63\x65\x9c\xc7\xa5" }  },
+      /* --- pixel bitmap for cmmib325 char#58 . --- */
+      {  58,121448,                     /* character number, location */
+          7, 4,    0, 4,      /* topleft row,col, and botleft row,col */
+          {  7,    7, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x1c\xdf\xff\xff\xf7\x71\x00" }  },
+      /* --- pixel bitmap for cmmib325 char#59 , --- */
+      {  59,122017,                     /* character number, location */
+          7, 4,   -9, 4,      /* topleft row,col, and botleft row,col */
+          {  8,   16, 1, 1, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x1c\x3e\x7f\xff\xff\xfe\xdc\xc0\xc0\x60\x60\x70\x30"
+            "\x18\x0c\x04" }  },
+      /* --- pixel bitmap for cmmib325 char#60 < --- */
+      {  60,122697,                     /* character number, location */
+         27, 4,   -4, 4,      /* topleft row,col, and botleft row,col */
+          { 32,   31, 2,62, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x1d\x03\x1b\x05\x19\x07\x17\x07\x17\x07\x17\x07\x17"
+            "\x07\x16\x08\x16\x08\x16\x08\x16\x07\x17\x07\x17\x07"
+            "\x17\x07\x17\x07\x19\x05\x1b\x07\x1b\x07\x1b\x07\x1b"
+            "\x07\x1b\x07\x1b\x08\x1a\x08\x1a\x08\x1b\x07\x1b\x07"
+            "\x1b\x07\x1b\x07\x1b\x07\x1b\x05\x1d\x03" }  },
+      /* --- pixel bitmap for cmmib325 char#61 / --- */
+      {  61,123261,                     /* character number, location */
+         34, 3,  -11, 3,      /* topleft row,col, and botleft row,col */
+          { 20,   45, 3,169, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x42\xe0\x33\xe0\x24\xf1\xe0\x23\x10\xe0\x14\xe0"
+            "\x23\xe0\x24\x20\xf1\xe3\x30\xd4\xe0\x23\xe0\x24\x40"
+            "\xf1\xc3\x50\xb4\xe0\x23\xe0\x24\x60\xf1\xa3\x70\x94"
+            "\xe0\x23\xe0\x24\xe0\x23\xe0\x24\x90\xf1\x73\xa0\x64"
+            "\xe0\x23\xe0\x24\xb0\xf1\x53\xc0\x44\xe0\x23\xe0\x24"
+            "\xd0\xf1\x33\xe0\x24\xe0\x23\xe0\x24\xe0\x10\xf1\x13"
+            "\xe0\x24\xe0\x2f\x13\xe0\x30" }  },
+      /* --- pixel bitmap for cmmib325 char#62 > --- */
+      {  62,124000,                     /* character number, location */
+         27, 4,   -4, 4,      /* topleft row,col, and botleft row,col */
+          { 32,   31, 2,63, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\x00\x03\x1d\x05\x1b\x07\x1b\x07\x1b\x07\x1b\x07\x1b"
+            "\x07\x1b\x08\x1a\x08\x1a\x08\x1b\x07\x1b\x07\x1b\x07"
+            "\x1b\x07\x1b\x07\x1b\x05\x19\x07\x17\x07\x17\x07\x17"
+            "\x07\x17\x07\x16\x08\x16\x08\x16\x08\x16\x07\x17\x07"
+            "\x17\x07\x17\x07\x17\x07\x19\x05\x1b\x03\x1d" }  },
+      /* --- pixel bitmap for cmmib325 char#63 \star --- */
+      {  63,124739,                     /* character number, location */
+         23, 1,    0, 1,      /* topleft row,col, and botleft row,col */
+          { 24,   23, 3,69, (pixbyte *) /* width,ht, fmt,pixsz,map... */
+            "\xf2\xb2\xb0\xf4\xa4\xa5\x54\x5e\x0e\x01\x2e\x06\x6e"
+            "\x02\xac\x60\xf1\x88\x80\xf1\x7a\x70\x65\x25\xc4\x44"
+            "\xb4\x64\xa3\x83\x93\xa3\x82\xc2\x40" }  },
+      /* --- pixel bitmap for cmmib325 char#64 \partial --- */
+      {  64,100288,                     /* character number, location */
+         32, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 28,   33, 3,133, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xc7\xe0\x4d\xe4\x66\xb3\xa5\x92\xd4\x94\xc4\x20\xf1"
+            "\x55\xc5\x10\x63\xd5\xe0\x95\xe0\x96\xe1\x76\x99\x46"
+            "\x7c\x35\x75\x72\x16\x55\xa1\x16\x45\xb8\x45\xc7\x36"
+            "\xc6\x20\xf1\x16\xd6\x20\x16\xd5\x36\xd6\x3f\x16\xd5"
+            "\x4f\x16\xc5\x56\xb5\x75\xa5\x94\x95\xb4\x66\xdd\xe0"
+            "\x38\xe0" }  },
+      /* --- pixel bitmap for cmmib325 char#65 A --- */
+      {  65, 1092,                      /* character number, location */
+         32, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 35,   32, 3,160, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\xa3\x80\xf1\xe0\x94\x80\xe0\x85\x80\xf1\xe0\x76"
+            "\x80\xe0\x68\xe0\xc9\xe0\xc2\x16\xe0\xb2\x26\xe0\xa3"
+            "\x26\xe0\xa2\x36\xe0\x92\x47\xe0\x82\x56\xe0\x72\x66"
+            "\x60\xf1\xe2\x76\x60\xd2\x86\x60\xf1\xc2\x97\x50\xb2"
+            "\xb6\x50\xf1\xae\x06\x50\x92\xd6\x50\xf1\x82\xe7\x40"
+            "\x72\xe0\x26\x40\xf1\x62\xe0\x36\x40\x43\xe0\x46\x4f"
+            "\x1b\xae" }  },
+      /* --- pixel bitmap for cmmib325 char#66 B --- */
+      {  66, 2540,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 37,   31, 3,131, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x8e\x0a\xde\x0c\xe0\x16\xb6\xe6\xc6\xc7\xc7\xb7\xd6"
+            "\xb6\xe6\xb6\xd7\xa7\xd7\xa7\xd6\xb6\xd7\xb6\xc7\xb7"
+            "\xb7\xc7\x97\xee\x07\xe0\x2e\x08\xe7\xb7\xc7\xc6\xc6"
+            "\xd7\xb6\xe6\x30\xf1\x77\xe6\x30\xf1\x76\xe7\x30\x67"
+            "\xe6\xa7\xd7\xa6\xd7\xb6\xc7\xb7\xa8\x7e\x0e\x9e\x0b"
+            "\xc2" }  },
+      /* --- pixel bitmap for cmmib325 char#67 C --- */
+      {  67, 3589,                      /* character number, location */
+         32, 2,   -1, 2,      /* topleft row,col, and botleft row,col */
+          { 36,   33, 3,163, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\xe0\x48\x82\xee\x53\xc8\x73\x23\xb7\xb7\xa6\xe6\x96"
+            "\xe0\x25\x85\xe0\x44\x86\xe0\x53\x76\xe0\x63\x66\xe0"
+            "\x73\x57\xe0\x72\x66\xe0\x82\x57\xe0\x82\x57\xe0\xd0"
+            "\xf3\x17\xe0\xef\x27\xe0\xe0\x17\xe0\x82\x57\xe0\x72"
+            "\x76\xe0\x72\x60\xf1\x16\xe0\x62\x70\x25\xe0\x52\xa6"
+            "\xe0\x32\xc6\xe0\x12\xe6\xc3\xe0\x27\x83\xe0\x6e\x01"
+            "\xe0\xa9\xe0\x30" }  },
+      /* --- pixel bitmap for cmmib325 char#68 D --- */
+      {  68, 4825,                      /* character number, location */
+         31, 2,    0, 2,      /* topleft row,col, and botleft row,col */
+          { 39,   31, 3,153, (pixbyte *)/* width,ht, fmt,pixsz,map... */
+            "\x8e\x09\xe0\x2e\x0c\xe0\x36\xa8\xe0\x16\xc7\x2



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic