nroff driver for LaserJet IIP
Chip Rosenthal
chip at chinacat.Unicom.COM
Sat May 4 02:34:18 AEST 1991
In article <5859 at ns-mx.uiowa.edu>
dhmadsen at icaen.uiowa.edu (Donald H Madsen) writes:
>Does anyone have a nroff driver available for an HP LaserJet IIP
>to be used with Xenix 2.3.3 and Text Processing System 2.3?
Below is something I used may years ago. Unless terminal bit rot set
in, it should be fine. Hopefully from the Makefile you can figure
out what has to be done to get the various font tables you need.
Sorry there isn't any documentation.
Note that the text processing system is only 7-bit capable, and you
need 8-bits to access the special characters. This driver table emits
for a character `c' with the MSB set, a two byte sequence: { '\0177',
c&0177 }. I've got another program called `colpr' which will take
these sequences as generated by nroff and convert them back. I can
send that out if anybody needs it.
--- cut here -----------------------------------------------------------------
#! /bin/sh
# this is a "shar" archive - run through "/bin/sh" to extract 3 files:
# Makefile tablj.c chartest.nroff
# Wrapped by bin at chinacat on Fri May 3 11:26:08 CDT 1991
# Unpacking this archive requires: sed test wc (possibly mkdir)
# Existing files will not be clobbered unless "-c" is specified on the cmd line.
if test -f Makefile -a "$1" != "-c" ; then
echo "Makefile: file exists - will not be overwritten"
else
echo "x - Makefile (file 1 of 3, 2195 chars)"
sed -e 's/^X//' << 'END_OF_FILE_Makefile' > Makefile
X
XSHELL = /bin/sh
XCC = cc
XCFLAGS = -O -M0
XMKTERM = /usr/lib/term/mkterm.o
X
X# Available Fonts:
X#
X# name font symbol size effects
X# ------------ -------------- ------ ------ --------------
X# Fci10b Courier IBM-US 10cpi bold
X# Fci10bi Courier IBM-US 10cpi bold,italic
X# Fci12bi Courier IBM-US 12cpi bold,italic
X# Fli16 Line Printer IBM-US 16.66cpi none
X# Fpr12bi Prestige Elite Roman8 12cpi bold,italic
X
XALL = Fci10bi Fci12bi Fli16
X
Xall: $(ALL)
Xinstall: all ; inst Install
Xclean: ; rm -f mk_tablj $(ALL) *.o a.out core
Xclobber: clean ; inst -u Install
X
X# Fci10b
X# availability LaserJet II Internal
X# font Courier
X# symbol set IBM-US
X# pitch 10 chars/inch
X# size 12 points
X# effects bold
XFci10b: tablj.c
X $(CC) $(CFLAGS) -o mk_tablj -DNAME=\"$@\" \
X -DTYPE_COURIER -DSYMB_IBM_US -DPITCH=10 -DSIZE=12 -DBOLD \
X tablj.c $(MKTERM)
X ./mk_tablj ; rm mk_tablj
X
X# Fci10bi
X# availability Cart S1
X# font Courier
X# symbol set IBM-US
X# pitch 10 chars/inch
X# size 12 points
X# effects bold, italic
XFci10bi: tablj.c
X $(CC) $(CFLAGS) -o mk_tablj -DNAME=\"$@\" \
X -DTYPE_COURIER -DSYMB_IBM_US -DPITCH=10 -DSIZE=12 -DBOLD -DITALIC \
X tablj.c $(MKTERM)
X ./mk_tablj ; rm mk_tablj
X
X# Fci12bi
X# availability Cart S1
X# font Courier
X# symbol set IBM-US
X# pitch 12 chars/inch
X# size 10 points
X# effects bold, italic
XFci12bi: tablj.c
X $(CC) $(CFLAGS) -o mk_tablj -DNAME=\"$@\" \
X -DTYPE_COURIER -DSYMB_IBM_US -DPITCH=12 -DSIZE=10 -DBOLD -DITALIC \
X tablj.c $(MKTERM)
X ./mk_tablj ; rm mk_tablj
X
X# Fli16
X# availability LaserJet II Internal
X# font Line Printer
X# symbol set IBM-US
X# pitch 16.66 chars/inch
X# size 8.5 points
X# effects none
XFli16: tablj.c
X $(CC) $(CFLAGS) -o mk_tablj -DNAME=\"$@\" \
X -DTYPE_LINE_PRINTER -DSYMB_IBM_US -DPITCH=16.66 -DSIZE=8.5 \
X tablj.c $(MKTERM)
X ./mk_tablj ; rm mk_tablj
X
X# Fpr12bi
X# availability several
X# font Prestige Elite
X# symbol set Roman8 (not fully implemented)
X# pitch 12 chars/inch
X# size 10 points
X# effects bold, italic
XFpr12bi: tablj.c
X $(CC) $(CFLAGS) -o mk_tablj -DNAME=\"$@\" \
X -DTYPE_PRESTIGE -DSYMB_ROMAN8 -DPITCH=12 -DSIZE=10 -DBOLD -DITALIC \
X tablj.c $(MKTERM)
X ./mk_tablj ; rm mk_tablj
X
END_OF_FILE_Makefile
size="`wc -c < Makefile`"
if test 2195 -ne "$size" ; then
echo "Makefile: extraction error - got $size chars"
fi
fi
if test -f tablj.c -a "$1" != "-c" ; then
echo "tablj.c: file exists - will not be overwritten"
else
echo "x - tablj.c (file 2 of 3, 19902 chars)"
sed -e 's/^X//' << 'END_OF_FILE_tablj.c' > tablj.c
X#include <stdio.h>
X#include "/usr/lib/term/terms.h"
X#define INCH 240
X
X/*****************************************************************************
X * nroff driver generator for HP LaserJet Printer.
X *
X * Thu Dec 22 17:09:54 CST 1988 - C. Rosenthal (chip at vector.UUCP)
X * Fixed vertical motions so tbl would work. Cleaned up char set.
X * Wed Dec 14 17:11:30 CST 1988 - C. Rosenthal (chip at vector.UUCP)
X * Substantial rewrite and cleanup.
X * Thu Mar 17 13:54:53 CST 1988 - C. Rosenthal (chip at vector.UUCP)
X * Original composition.
X *
X *****************************************************************************
X *
X * This file is used to generate nroff(CT) printer drivers under SCO XENIX
X * for the HP LaserJet printer. Compiler definitions are used to select
X * the parameters for the generated table. The following parameters must
X * be specified when compiling this module:
X *
X * NAME The name of the table to create, e.g. -DNAME="tablj".
X * SYMB_select The symbol set to use, e.g. -DSYMB_ROMAN8.
X * TYPE_select The font type to use, e.g. -DTYPE_COURIER
X * PITCH The font pitch in chars/inch, e.g. -DPITCH=10
X * SIZE The font size in points, e.g. -DSIZE=12
X *
X * The following symbol sets are available:
X *
X * SYMB_ROMAN8 SYMB_IBM_US
X *
X * The following typefaces are available:
X *
X * TYPE_LINE_PRINTER TYPE_PICA TYPE_ELITE
X * TYPE_COURIER TYPE_HELV TYPE_TMS_RMN
X * TYPE_GOTHIC TYPE_SCRIPT TYPE_PRESTIGE
X * TYPE_CASLON TYPE_ORATOR TYPE_PRESENTATIONS
X * TYPE_SWISS_721 TYPE_DUTCH_801
X *
X * In addition, the following optional parameters may be specified:
X *
X * BOLD Bold characters are available, e.g. -DBOLD.
X * ITALIC Italic characters are available, e.g. -DITALIC.
X *
X * For example, the following command sequence will generate a "tablj"
X * driver table which will work with the LaserJet II internal Courier font:
X *
X * cc -O -M0 -DNAME=\"tablj\" -o mk_tablj \
X * -DTYPE_COURIER -DSYMB_ROMAN8 -DPITCH=10 -DSIZE=12 -DBOLD \
X * tablj.c mkterm.o
X * ./mk_tablj
X * rm -f ./mk_tablj tablj.o
X *
X ****************************************************************************/
X
X
X/*
X * Printer initialization string.
X *
X * .--------------------------------- reset
X * | .-------------------------- map \r to CR, \n to CRLF
X * | | .------------------ disab line wrap
X * | | | .---------- portrait mode
X * | | | | .-------- disab performation skip
X * | | | | | .------ top margin = 0 lines
X * | | | | | | .---- 6 lines per inch
X * | | | | | | | .-- 66 lines per page
X * | | | | | | | | */
X#define INITSTR "\033E\033&k2G\033&s1C\033&l0o0l0e6d66F"
X/* =====--------========------==--==--=== */
X
X/*
X * Printer reset string.
X */
X#define RESETSTR "\033E"
X
X/*
X * Determine which symbol set to use.
X */
X#ifdef SYMB_ROMAN8
X# define SYMBOL "8U"
X#endif
X#ifdef SYMB_IBM_US
X# define SYMBOL "10U"
X#endif
X
X/*
X * Determine which font type to use.
X */
X#ifdef TYPE_LINE_PRINTER
X# define TYPEFACE 0
X#endif
X#ifdef TYPE_PICA
X# define TYPEFACE 1
X#endif
X#ifdef TYPE_ELITE
X# define TYPEFACE 2
X#endif
X#ifdef TYPE_COURIER
X# define TYPEFACE 3
X#endif
X#ifdef TYPE_HELV
X# define TYPEFACE 4
X#endif
X#ifdef TYPE_TMS_RMN
X# define TYPEFACE 5
X#endif
X#ifdef TYPE_GOTHIC
X# define TYPEFACE 6
X#endif
X#ifdef TYPE_SCRIPT
X# define TYPEFACE 7
X#endif
X#ifdef TYPE_PRESTIGE
X# define TYPEFACE 8
X#endif
X#ifdef TYPE_CASLON
X# define TYPEFACE 9
X#endif
X#ifdef TYPE_ORATOR
X# define TYPEFACE 10
X#endif
X#ifdef TYPE_PRESENTATIONS
X# define TYPEFACE 11
X#endif
X#ifdef TYPE_SWISS_721
X# define TYPEFACE 14
X#endif
X#ifdef TYPE_DUTCH_801
X# define TYPEFACE 15
X#endif
X
X/*
X * Constants used to generate roman, italic, and bold fonts.
X */
X#define STYLE_U 0 /* upright style */
X#define STYLE_I 1 /* italic style */
X#define STROKE_M 0 /* medium stroke */
X#define STROKE_B 3 /* bold stroke */
X
X/*
X * Character spacing select code - only fixed spacing supported.
X */
X#define SPACING 0
X
X/*
X * Lines per inch - 6 lines/inch is hardcoded into INITSTR
X */
X#define LINES_INCH 6
X
X
Xstatic char Setr[128]; /* select roman font */
Xstatic char Seti[128]; /* select italic font */
Xstatic char Setb[128]; /* select bold font */
Xstatic char Init[128]; /* initialize & select roman */
X
X
Xmkfont(buf,symbol,spacing,pitch,size,style,stroke,typeface)
Xchar *buf;
Xchar *symbol;
Xint spacing;
Xint pitch;
Xint size;
Xint stroke;
Xint typeface;
X{
X sprintf(buf, "\033&10O\033(%s\033(s%dp%dh%dv%ds%db%dT",
X symbol, spacing, pitch, size, style, stroke, typeface);
X}
X
X
Xuserterms()
X{
X extern char *strcpy(), *strcat();
X extern struct termtable tablj;
X
X mkfont(Setr, SYMBOL, SPACING, PITCH, SIZE, STYLE_U, STROKE_M, TYPEFACE);
X
X#ifdef BOLD
X mkfont(Setb, SYMBOL, SPACING, PITCH, SIZE, STYLE_U, STROKE_B, TYPEFACE);
X#else
X Setb[0] = '\0';
X#endif
X
X#ifdef ITALIC
X mkfont(Seti, SYMBOL, SPACING, PITCH, SIZE, STYLE_I, STROKE_M, TYPEFACE);
X#else
X Seti[0] = '\0';
X#endif
X
X (void) strcat(strcpy(Init,INITSTR),Setr);
X
X mkterm(NAME, &tablj);
X
X exit(0);
X}
X
X#define CSIZE (INCH/PITCH) /* inches per character */
X#define LSIZE (INCH/LINES_INCH) /* inches per line */
X
Xstruct termtable tablj = {
X 0, /* bset termio.c_oflag bits to set */
X 0, /* breset termio.c_oflag bits to reset */
X CSIZE, /* Hor horizontal resolution */
X LSIZE, /* Vert vertical resolution */
X LSIZE, /* Newline space moved by newline character */
X CSIZE, /* Char character size */
X CSIZE, /* Em em size */
X LSIZE/2, /* Halfline space moved by half-linefeed up/down */
X CSIZE, /* Adj quantum of space for margin adj */
X Init, /* twinit initialize terminal string */
X RESETSTR, /* twrest reset terminal string */
X "\n", /* twnl string to move down a full line */
X "\033&a-.5R",/* hlr string to move up a half-line */
X "\033&a+.5R",/* hlf string to move down a half-line */
X "\033&a-1R",/* flr string to move up a full line */
X Setb, /* bdon string to enable bold output */
X Setr, /* bdoff string to disable bold output */
X Seti, /* iton string to enable italics output */
X Setr, /* itoff string to disable italics output */
X "", /* ploton string to turn on plotting mode */
X "", /* plotoff string to turn off plotting mode */
X "", /* up string to move up one plot unit */
X "", /* down string to move down one plot unit */
X "", /* right string to move right one plot unit */
X "", /* left string to move left one plot unit */
X
X#ifdef SYMB_ROMAN8
X {
X "\001 ", /* space */
X "\001!", /* ! */
X "\001\"", /* " */
X "\001#", /* # */
X "\001$", /* $ */
X "\001%", /* % */
X "\001&", /* & */
X "\001'", /* ' close */
X "\001(", /* ( */
X "\001)", /* ) */
X "\001*", /* * */
X "\001+", /* + */
X "\001,", /* , */
X "\001-", /* - hyphen */
X "\001.", /* . */
X "\001/", /* / */
X "\201\060", /* 0 */
X "\201\061", /* 1 */
X "\201\062", /* 2 */
X "\201\063", /* 3 */
X "\201\064", /* 4 */
X "\201\065", /* 5 */
X "\201\066", /* 6 */
X "\201\067", /* 7 */
X "\201\070", /* 8 */
X "\201\071", /* 9 */
X "\001:", /* : */
X "\001;", /* ; */
X "\001<", /* < */
X "\001=", /* = */
X "\001>", /* > */
X "\001?", /* ? */
X "\001@", /* @ */
X "\201A", /* A */
X "\201B", /* B */
X "\201C", /* C */
X "\201D", /* D */
X "\201E", /* E */
X "\201F", /* F */
X "\201G", /* G */
X "\201H", /* H */
X "\201I", /* I */
X "\201J", /* J */
X "\201K", /* K */
X "\201L", /* L */
X "\201M", /* M */
X "\201N", /* N */
X "\201O", /* O */
X "\201P", /* P */
X "\201Q", /* Q */
X "\201R", /* R */
X "\201S", /* S */
X "\201T", /* T */
X "\201U", /* U */
X "\201V", /* V */
X "\201W", /* W */
X "\201X", /* X */
X "\201Y", /* Y */
X "\201Z", /* Z */
X "\001[", /* [ */
X "\001\\", /* \ */
X "\001]", /* ] */
X "\001^", /* ^ */
X "\001_", /* _ dash */
X "\001`", /* ` open */
X "\201a", /* a */
X "\201b", /* b */
X "\201c", /* c */
X "\201d", /* d */
X "\201e", /* e */
X "\201f", /* f */
X "\201g", /* g */
X "\201h", /* h */
X "\201i", /* i */
X "\201j", /* j */
X "\201k", /* k */
X "\201l", /* l */
X "\201m", /* m */
X "\201n", /* n */
X "\201o", /* o */
X "\201p", /* p */
X "\201q", /* q */
X "\201r", /* r */
X "\201s", /* s */
X "\201t", /* t */
X "\201u", /* u */
X "\201v", /* v */
X "\201w", /* w */
X "\201x", /* x */
X "\201y", /* y */
X "\201z", /* z */
X "\001{", /* { */
X "\001|", /* | */
X "\001}", /* } */
X "\001~", /* ~ */
X "\000", /* \| 1/6em narrow space */
X "\001-", /* hyphen */
X "\001O\b+", /* \(bu bullet */
X "\002\[]", /* \(sq square */
X "\001-", /* \(em 3/4 em dash */
X "\001_", /* \(ru rule */
X "\001\177\167", /* \(14 1/4 */
X "\001\177\170", /* \(12 1/2 */
X "\001\177\165", /* \(34 3/4 */
X "\001-", /* minus */
X "\202fi", /* \(fi fi */
X "\202fl", /* \(fl fl */
X "\202ff", /* \(ff ff */
X "\203ffi", /* \(Fi ffi */
X "\203ffl", /* \(Fl ffl */
X "\001\177\063", /* \(de degree */
X "\001|\b-", /* \(dg dagger */
X "\001\177\075", /* \(sc section */
X "\001'", /* \(fm foot mark */
X "\001'", /* \(aa acute accent */
X "\001`", /* \(ga grave accent */
X "\001_", /* \(ul underrule */
X "\001/", /* \(sl slash (longer) */
X "\000", /* \^ 1/12em half narrow space */
X "\001 ", /* \( unpaddable space */
X "\000", /* \(*a alpha */
X "\201\177\136", /* \(*b beta */
X "\000", /* \(*g gamma */
X "\000", /* \(*d delta */
X "\000", /* \(*e epsilon */
X "\000", /* \(*z zeta */
X "\000", /* \(*y eta */
X "\201O\b-", /* \(*h theta */
X "\201i", /* \(*i iota */
X "\201k", /* \(*k kappa */
X "\000", /* \(*l lambda */
X "\201\177\163", /* \(*m mu */
X "\201v", /* \(*n nu */
X "\000", /* \(*c xi */
X "\201o", /* \(*o omicron */
X "\000", /* \(*p pi */
X "\201p", /* \(*r rho */
X "\000", /* \(*s sigma */
X "\000", /* \(*t tau */
X "\201v", /* \(*u upsilon */
X "\000", /* \(*f phi */
X "\201x", /* \(*x chi */
X "\000", /* \(*q psi */
X "\000", /* \(*w omega */
X "\000", /* \(*G Gamma */
X "\000", /* \(*D Delta */
X "\000", /* \(*H Theta */
X "\000", /* \(*L Lambda */
X "\000", /* \(*C Xi */
X "\000", /* \(*P Pi */
X "\000", /* \(*S Sigma */
X "\000", /* ?????? */
X "\201Y", /* \(*U Upsilon */
X "\000", /* \(*F Phi */
X "\000", /* \(*Q Psi */
X "\000", /* \(*W Omega */
X "\000", /* \(sr square root */
X "\000", /* \(ts terminal sigma */
X "\000", /* \(rn root en extender */
X "\001>\b_", /* \(>= greater than or equal to */
X "\001<\b_", /* \(<= less than or equal to */
X "\001=\b-", /* \(== identically equal */
X "\001-", /* equation minus */
X "\001=\b~", /* \(~= approx = */
X "\001\126", /* \(ap approximates */
X "\001=\b/", /* \(!= not equal */
X "\000", /* \(-> right arrow */
X "\000", /* \(<- left arrow */
X "\000", /* \(ua up arrow */
X "\000", /* \(da down arrow */
X "\001=", /* equation equal */
X "\001x", /* \(mu multiply */
X "\001-\b:", /* \(di divide */
X "\001\177\176", /* \(+- plus-minus */
X "\001U", /* \(cu cup (union) */
X "\000", /* \(ca cap (intersection) */
X "\000", /* \(sb subset of */
X "\000", /* \(sp superset of */
X "\000", /* \(ib improper subset */
X "\000", /* \(ip improper superset */
X "\000", /* \(if infinity */
X "\000", /* \(pd partial derivative */
X "\000", /* \(gr gradient */
X "\000", /* \(no not */
X "\000", /* \(is integral sign */
X "\000", /* \(pt proportional to */
X "\001\177\122", /* \(es empty set */
X "\000", /* \(mo member of */
X "\001+", /* equation plus */
X "\001r\bO", /* \(rg registered */
X "\001c\bO", /* \(co copyright */
X "\001\174", /* box rule */
X "\001\177\077", /* \(ct cent sign */
X "\001|\b=", /* \(dd dbl dagger */
X "\002=>", /* \(rh right hand */
X "\002<=", /* \(lh left hand */
X "\001*", /* \(** math * */
X "\000", /* bell system sign */
X "\001|", /* \(or or (was star) */
X "\001O", /* \(ci circle */
X "\000", /* \(lt left top of big curly bracket */
X "\000", /* \(lb left bottom of big curly bracket */
X "\000", /* \(rt right top of big curly bracket */
X "\000", /* \(rb right bot of big curly bracket */
X "\000", /* \(lc left center of big curly bracket */
X "\000", /* \(rc right center of big curly bracket */
X "\001\174", /* \(bv bold vertical */
X "\000", /* \(lf left floor (left bot of big sq bract) */
X "\000", /* \(rf right floor (rb of ") */
X "\000", /* \(lc left ceiling (lt of ") */
X "\000" /* \(rc right ceiling (rt of ") */
X }
X#endif
X
X#ifdef SYMB_IBM_US
X {
X "\001 ", /* space */
X "\001!", /* ! */
X "\001\"", /* " */
X "\001#", /* # */
X "\001$", /* $ */
X "\001%", /* % */
X "\001&", /* & */
X "\001'", /* ' close */
X "\001(", /* ( */
X "\001)", /* ) */
X "\001*", /* * */
X "\001+", /* + */
X "\001,", /* , */
X "\001-", /* - hyphen */
X "\001.", /* . */
X "\001/", /* / */
X "\201\060", /* 0 */
X "\201\061", /* 1 */
X "\201\062", /* 2 */
X "\201\063", /* 3 */
X "\201\064", /* 4 */
X "\201\065", /* 5 */
X "\201\066", /* 6 */
X "\201\067", /* 7 */
X "\201\070", /* 8 */
X "\201\071", /* 9 */
X "\001:", /* : */
X "\001;", /* ; */
X "\001<", /* < */
X "\001=", /* = */
X "\001>", /* > */
X "\001?", /* ? */
X "\001@", /* @ */
X "\201A", /* A */
X "\201B", /* B */
X "\201C", /* C */
X "\201D", /* D */
X "\201E", /* E */
X "\201F", /* F */
X "\201G", /* G */
X "\201H", /* H */
X "\201I", /* I */
X "\201J", /* J */
X "\201K", /* K */
X "\201L", /* L */
X "\201M", /* M */
X "\201N", /* N */
X "\201O", /* O */
X "\201P", /* P */
X "\201Q", /* Q */
X "\201R", /* R */
X "\201S", /* S */
X "\201T", /* T */
X "\201U", /* U */
X "\201V", /* V */
X "\201W", /* W */
X "\201X", /* X */
X "\201Y", /* Y */
X "\201Z", /* Z */
X "\001[", /* [ */
X "\001\\", /* \ */
X "\001]", /* ] */
X "\001^", /* ^ */
X "\001_", /* _ dash */
X "\001`", /* ` open */
X "\201a", /* a */
X "\201b", /* b */
X "\201c", /* c */
X "\201d", /* d */
X "\201e", /* e */
X "\201f", /* f */
X "\201g", /* g */
X "\201h", /* h */
X "\201i", /* i */
X "\201j", /* j */
X "\201k", /* k */
X "\201l", /* l */
X "\201m", /* m */
X "\201n", /* n */
X "\201o", /* o */
X "\201p", /* p */
X "\201q", /* q */
X "\201r", /* r */
X "\201s", /* s */
X "\201t", /* t */
X "\201u", /* u */
X "\201v", /* v */
X "\201w", /* w */
X "\201x", /* x */
X "\201y", /* y */
X "\201z", /* z */
X "\001{", /* { */
X "\001|", /* | */
X "\001}", /* } */
X "\001~", /* ~ */
X "\000", /* \| 1/6em narrow space */
X "\001-", /* hyphen */
X "\001\177\171", /* \(bu bullet */
X "\002\[]", /* \(sq square */
X "\001-", /* \(em 3/4 em dash */
X "\001_", /* \(ru rule */
X "\001\177\054", /* \(14 1/4 */
X "\001\177\053", /* \(12 1/2 */
X "\003\063/4", /* \(34 3/4 */
X "\001-", /* minus */
X "\202fi", /* \(fi fi */
X "\202fl", /* \(fl fl */
X "\202ff", /* \(ff ff */
X "\203ffi", /* \(Fi ffi */
X "\203ffl", /* \(Fl ffl */
X "\001\177\170", /* \(de degree */
X "\001|\b-", /* \(dg dagger */
X "\001\025", /* \(sc section */
X "\001'", /* \(fm foot mark */
X "\001'", /* \(aa acute accent */
X "\001`", /* \(ga grave accent */
X "\001_", /* \(ul underrule */
X "\001/", /* \(sl slash (longer) */
X "\000", /* \^ 1/12em half narrow space */
X "\001 ", /* \( unpaddable space */
X "\201\177\140", /* \(*a alpha */
X "\201\177\141", /* \(*b beta */
X "\000", /* \(*g gamma */
X "\201\177\153", /* \(*d delta */
X "\201\177\156", /* \(*e epsilon */
X "\000", /* \(*z zeta */
X "\201\177\174", /* \(*y eta */
X "\201O\b-", /* \(*h theta */
X "\201i", /* \(*i iota */
X "\201k", /* \(*k kappa */
X "\000", /* \(*l lambda */
X "\201\177\146", /* \(*m mu */
X "\201v", /* \(*n nu */
X "\000", /* \(*c xi */
X "\201o", /* \(*o omicron */
X "\201\177\143", /* \(*p pi */
X "\201p", /* \(*r rho */
X "\201\177\145", /* \(*s sigma */
X "\201\177\147", /* \(*t tau */
X "\201v", /* \(*u upsilon */
X "\201\177\155", /* \(*f phi */
X "\201x", /* \(*x chi */
X "\000", /* \(*q psi */
X "\000", /* \(*w omega */
X "\201\177\142", /* \(*G Gamma */
X "\000", /* \(*D Delta */
X "\201\177\151", /* \(*H Theta */
X "\000", /* \(*L Lambda */
X "\000", /* \(*C Xi */
X "\000", /* \(*P Pi */
X "\201\177\144", /* \(*S Sigma */
X "\000", /* ?????? */
X "\201Y", /* \(*U Upsilon */
X "\201\177\150", /* \(*F Phi */
X "\000", /* \(*Q Psi */
X "\201\177\152", /* \(*W Omega */
X "\001\177\173", /* \(sr square root */
X "\000", /* \(ts terminal sigma */
X /* \(rn root en extender...next line... */
X "\001\033&a-.85R_\033&a+.85R", /* move up, '_', move down */
X "\001\177\162", /* \(>= greater than or equal to */
X "\001\177\163", /* \(<= less than or equal to */
X "\001\177\160", /* \(== identically equal */
X "\001-", /* equation minus */
X "\001=\b~", /* \(~= approx = */
X "\001\177\167", /* \(ap approximates */
X "\001=\b/", /* \(!= not equal */
X "\001\032", /* \(-> right arrow */
X /* \(<- left arrow...next line... */
X "\001\033&p1X\033", /* 1 char transparent, \033 */
X "\001\030", /* \(ua up arrow */
X "\001\031", /* \(da down arrow */
X "\001=", /* equation equal */
X "\001x", /* \(mu multiply */
X "\001\177\166", /* \(di divide */
X "\001\177\161", /* \(+- plus-minus */
X "\001U", /* \(cu cup (union) */
X "\001\177\157", /* \(ca cap (intersection) */
X "\000", /* \(sb subset of */
X "\000", /* \(sp superset of */
X "\000", /* \(ib improper subset */
X "\000", /* \(ip improper superset */
X "\001\177\154", /* \(if infinity */
X "\000", /* \(pd partial derivative */
X "\000", /* \(gr gradient */
X "\001\177\052", /* \(no not */
X "\000", /* \(is integral sign */
X "\000", /* \(pt proportional to */
X "\001\177\155", /* \(es empty set */
X "\001\177\156", /* \(mo member of */
X "\001+", /* equation plus */
X "\001r\bO", /* \(rg registered */
X "\001c\bO", /* \(co copyright */
X "\001\177\063", /* box rule */
X "\001\177\033", /* \(ct cent sign */
X "\001|\b=", /* \(dd dbl dagger */
X "\002=>", /* \(rh right hand */
X "\002<=", /* \(lh left hand */
X "\001*", /* \(** math * */
X "\000", /* bell system sign */
X "\001|", /* \(or or (was star) */
X "\001O", /* \(ci circle */
X "\000", /* \(lt left top of big curly bracket */
X "\000", /* \(lb left bottom of big curly bracket */
X "\000", /* \(rt right top of big curly bracket */
X "\000", /* \(rb right bot of big curly bracket */
X "\000", /* \(lc left center of big curly bracket */
X "\000", /* \(rc right center of big curly bracket */
X "\001\177\063", /* \(bv bold vertical */
X "\001\177\100", /* \(lf left floor (left bot of big sq bract) */
X "\001\177\131", /* \(rf right floor (rb of ") */
X "\001\177\132", /* \(lc left ceiling (lt of ") */
X "\001\177\077" /* \(rc right ceiling (rt of ") */
X }
X#endif
X
X};
X
END_OF_FILE_tablj.c
size="`wc -c < tablj.c`"
if test 19902 -ne "$size" ; then
echo "tablj.c: extraction error - got $size chars"
fi
fi
if test -f chartest.nroff -a "$1" != "-c" ; then
echo "chartest.nroff: file exists - will not be overwritten"
else
echo "x - chartest.nroff (file 3 of 3, 2225 chars)"
sed -e 's/^X//' << 'END_OF_FILE_chartest.nroff' > chartest.nroff
X.nf
XThis sentence has words in \fBbold\fR and \fIitalic\fR typeface.
XThis is a test of the special characters:
X
X' ' close quote
X` ` open quote
X\(em em 3/4Em dash
X- - hyphen
X\(hy hy hyphen
X\- - current font minus
X\(bu bu bullet
X\(sq sq square
X\(ru ru rule
X\(14 14 1/4
X\(12 12 1/2
X\(fi fi fi
X\(fl fl fl
X\(ff ff ff
X\(Fi Fi ffi
X\(Fl Fl ffl
X\(de de degree
X\(dg dg dagger
X\(fm fm foot mark
X\(ct ct cent sign
X\(rg rg registered
X\(34 34 3/4
X
X\(pl pl plus
X\(mi mi minus
X\(eq eq equals
X\(** ** star
X\(sc sc section
X\(aa aa acute accent
X\(ga ga grave accent
X\(ul ul underrule
X\(sl sl slash
X
X\(*a *a alpha
X\(*b *b beta
X\(*g *g gamma
X\(*d *d delta
X\(*e *e epsilon
X\(*z *z zeta
X\(*y *y eta
X\(*h *h theta
X\(*i *i iota
X\(*k *k kappa
X\(*l *l lambda
X\(*m *m mu
X\(*n *n nu
X\(*c *c xi
X\(*o *o omicron
X\(*p *p pi
X\(*r *r rho
X\(*s *s sigma
X\(ts ts terminal sigma
X\(*t *t tau
X\(*u *u upsilon
X\(*f *f phi
X\(*x *x chi
X\(*q *q psi
X\(*w *w omega
X
X\(*A *A Alpha
X\(*B *B Beta
X\(*G *G Gamma
X\(*D *D Delta
X\(*E *E Epsilon
X\(*Z *Z Zeta
X\(*Y *Y Eta
X\(*H *H Theta
X\(*I *I Iota
X\(*K *K Kappa
X\(*L *L Lambda
X\(*M *M Mu
X\(*N *N Nu
X\(*C *C Xi
X\(*O *O Omicron
X\(*P *P Pi
X\(*R *R Rho
X\(*S *S Sigma
X\(*T *T Tau
X\(*U *U Upsilon
X\(*F *F Phi
X\(*X *X Chi
X\(*Q *Q Psi
X\(*W *W Omega
X
X\(sr sr square root
X\(rn rn root en extender
X\(>= >= >=
X\(<= <= <=
X\(== == identically equals
X\(= = approx equals
X\(ap ap approximates
X\(!= != not equal
X\(-> -> right arrow
X\(<- <- left arrow
X\(ua ua up arrow
X\(da da down arrow
X\(mu mu multiply
X\(di di divide
X\(+- +- plus-minus
X\(cu cu cup(union)
X\(ca ca cap(intersection)
X\(sb sb subset of
X\(sp sp superset of
X\(ib ib improper subset
X\(ip ip improper superset
X\(if if infinity
X\(pd pd partial derivative
X\(gr gr gradient
X\(no no not
X\(is is integral sign
X\(pt pt proportional to
X\(es es empty set
X\(mo mo member of
X\(br br box vertical rule
X\(dd dd double dagger
X\(rh rh right hand
X\(lh lh left hand
X\(bs bs null set
X\(or or or
X\(ci ci circle
X\(lt lt left top brace
X\(lb lb left bottom brace
X\(rt rt right top brace
X\(rb rb right bottom brace
X\(lk lk left center brace
X\(rk rk right center brace
X\(bv bv bold vertical
X\(lf lf left floor bracket
X\(rf rf right floor bracket
X\(lc lc left ceiling bracket
X\(rc rc right ceiling bracket
X.fi
END_OF_FILE_chartest.nroff
size="`wc -c < chartest.nroff`"
if test 2225 -ne "$size" ; then
echo "chartest.nroff: extraction error - got $size chars"
fi
fi
echo "done - 3 files extracted"
exit 0
--- cut here -----------------------------------------------------------------
--
Chip Rosenthal 512-482-8260 |
Unicom Systems Development | I saw Elvis in my wtmp file.
<chip at chinacat.Unicom.COM> |
More information about the Alt.sources
mailing list