[BACK]Return to kyo.trm CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gnuplot / term

Annotation of OpenXM_contrib/gnuplot/term/kyo.trm, Revision 1.1.1.2

1.1       maekawa     1: /*
1.1.1.2 ! maekawa     2:  * $Id: kyo.trm,v 1.6 1998/11/25 21:06:54 lhecking Exp $
1.1       maekawa     3:  *
                      4:  */
                      5:
                      6: /* Prescribe (KYOCERA) driver - Michael Waldor */
                      7:
                      8: /*[
                      9:  * Copyright 1990 - 1993, 1998
                     10:  *
                     11:  * Permission to use, copy, and distribute this software and its
                     12:  * documentation for any purpose with or without fee is hereby granted,
                     13:  * provided that the above copyright notice appear in all copies and
                     14:  * that both that copyright notice and this permission notice appear
                     15:  * in supporting documentation.
                     16:  *
                     17:  * Permission to modify the software is granted, but not the right to
                     18:  * distribute the complete modified source code.  Modifications are to
                     19:  * be distributed as patches to the released version.  Permission to
                     20:  * distribute binaries produced by compiling modified sources is granted,
                     21:  * provided you
                     22:  *   1. distribute the corresponding source modifications from the
                     23:  *    released version in the form of a patch file along with the binaries,
                     24:  *   2. add special version identification to distinguish your version
                     25:  *    in addition to the base release version number,
                     26:  *   3. provide your name and address as the primary contact for the
                     27:  *    support of your modified version, and
                     28:  *   4. retain our contact information in regard to use of the base
                     29:  *    software.
                     30:  * Permission to distribute the released version of the source code along
                     31:  * with corresponding source modifications in the form of a patch file is
                     32:  * granted with same provisions 2 through 4 for binary distributions.
                     33:  *
                     34:  * This software is provided "as is" without express or implied warranty
                     35:  * to the extent permitted by applicable law.
                     36: ]*/
                     37:
                     38: /* Modified for gnuplot 2.0 sk@sun4 24-Apr-1990 13:23 */
                     39:
                     40: /*
                     41:  * adapted to the new terminal layout by Stefan Bodewig (Dec. 1995)
                     42:  */
                     43:
                     44: #include "driver.h"
                     45:
                     46: #ifdef TERM_REGISTER
                     47: register_term(prescribe)
                     48: register_term(kyo)
                     49: #endif
                     50:
                     51: #ifdef TERM_PROTO
                     52: TERM_PUBLIC void PRE_init __PROTO((void));
                     53: TERM_PUBLIC void KYO_init __PROTO((void));
                     54: TERM_PUBLIC void PRE_graphics __PROTO((void));
                     55: TERM_PUBLIC void PRE_text __PROTO((void));
                     56: TERM_PUBLIC void PRE_linetype __PROTO((int linetype));
                     57: TERM_PUBLIC void PRE_move __PROTO((unsigned int x, unsigned int y));
                     58: TERM_PUBLIC void PRE_vector __PROTO((unsigned int x, unsigned int y));
                     59: TERM_PUBLIC void PRE_put_text __PROTO((unsigned int x, unsigned int y, char *str));
                     60: TERM_PUBLIC int PRE_justify_text __PROTO((enum JUSTIFY mode));
                     61: TERM_PUBLIC void PRE_reset __PROTO((void));
                     62:
                     63: #define PRE_XMAX 2567
                     64: #define PRE_YMAX 1815          /* X:Y = sqrt(2) */
                     65:
                     66: #define PRE_VCHAR (PRE_YMAX/30)
                     67: #define PRE_HCHAR 33           /* about 9 chars per inch */
                     68: #define PRE_HTIC (PRE_XMAX/80)
                     69: #define PRE_VTIC PRE_HTIC
                     70:
                     71: /* for Courier font: */
                     72: #define KYO_VCHAR (14*(300/72))        /* 12 pt + 2 pt baselineskip */
                     73: #define KYO_HCHAR (300/10)     /*  10 chars per inch */
                     74: #endif /* TERM_PROTO */
                     75:
                     76: #ifndef TERM_PROTO_ONLY
                     77: #ifdef TERM_BODY
                     78:
                     79: #define PRE_XLAST (PRE_XMAX - 1)
                     80: #define PRE_YLAST (PRE_YMAX - 1)
                     81:
                     82: enum JUSTIFY pre_justify = LEFT;       /* text is flush left */
                     83:
                     84: TERM_PUBLIC void PRE_init()
                     85: {
                     86:     fputs("!R! RES;\n", gpoutfile);
                     87:     /* UNIT: units are dots, 300 dots = 1 in = 72 pt */
                     88:     /* SPO: landscape format */
                     89:     /* STM, SLM set top, left margin */
                     90:     /* Font: bold Helvetica (proportional font) */
                     91:     fputs("PAGE; UNIT D; SPO L; STM 280; SLM 440;\n", gpoutfile);
                     92:     fputs("FTMD 15; FONT 29; SCPI 9;\n", gpoutfile);
                     93: }
                     94:
                     95: TERM_PUBLIC void KYO_init()
                     96: {
                     97:     fputs("!R! RES;\n", gpoutfile);
                     98:     /* UNIT: units are dots, 300 dots = 1 in = 72 pt */
                     99:     /* SPO: landscape format */
                    100:     /* STM, SLM set top, left margin */
                    101:     /* Font: Courier (fixed width font) */
                    102:     fputs("PAGE; UNIT D; SPO L; STM 280; SLM 440;\n", gpoutfile);
                    103:     fputs("FTMD 15; FONT 17; SCPI 10;\n", gpoutfile);
                    104: }
                    105:
                    106: TERM_PUBLIC void PRE_graphics()
                    107: {
                    108: }
                    109:
                    110: TERM_PUBLIC void PRE_text()
                    111: {                              /* eject page after each plot */
                    112:     fputs("PAGE;\n", gpoutfile);
                    113: }
                    114:
                    115: TERM_PUBLIC void PRE_linetype(linetype)
                    116: int linetype;
                    117: {
                    118:     /* actually choose pendiameter */
                    119:     if (linetype < 0)
                    120:        linetype = -linetype;
                    121:     else
                    122:        linetype = 3;
                    123:     (void) fprintf(gpoutfile, "SPD %d;\n", linetype);
                    124: }
                    125:
                    126: TERM_PUBLIC void PRE_move(x, y)
                    127: unsigned int x, y;
                    128: {
                    129:     (void) fprintf(gpoutfile, "MAP %1d,%1d;\n", x, PRE_YMAX - y);
                    130: }
                    131:
                    132: TERM_PUBLIC void PRE_vector(x, y)
                    133: unsigned int x, y;
                    134: {
                    135:     (void) fprintf(gpoutfile, "DAP %1d, %1d;\n", x, PRE_YMAX - y);
                    136: }
                    137:
                    138: TERM_PUBLIC void PRE_put_text(x, y, str)
                    139: unsigned int x, y;
                    140: char *str;
                    141: {
                    142:     PRE_move(x, y);
                    143:     switch (pre_justify) {
                    144:     case RIGHT:
                    145:        (void) fprintf(gpoutfile, "RTXT \"%s\", B;\n", str);
                    146:        break;
                    147:     default:
                    148:        (void) fprintf(gpoutfile, "TEXT \"%s\", B;\n", str);
                    149:     }
                    150: }
                    151:
                    152: TERM_PUBLIC int PRE_justify_text(mode)
                    153: enum JUSTIFY mode;
                    154: {
                    155:     pre_justify = mode;
                    156:     switch (pre_justify) {
                    157:     case LEFT:
                    158:     case RIGHT:
                    159:        return (TRUE);
                    160:     default:
                    161:        return (FALSE);
                    162:     }
                    163:
                    164: }
                    165:
                    166: TERM_PUBLIC void PRE_reset()
                    167: {
                    168:     fputs("PAGE; RES; EXIT;\n", gpoutfile);
                    169: }
                    170:
                    171: #endif /* TERM_BODY */
                    172:
                    173: #ifdef TERM_TABLE
                    174: TERM_TABLE_START(prescribe_driver)
                    175:     "prescribe", "Prescribe - for the Kyocera Laser Printer",
                    176:     PRE_XMAX, PRE_YMAX, PRE_VCHAR, PRE_HCHAR,
                    177:     PRE_VTIC, PRE_HTIC, options_null, PRE_init, PRE_reset,
                    178:     PRE_text, null_scale, PRE_graphics, PRE_move, PRE_vector,
                    179:     PRE_linetype, PRE_put_text, null_text_angle,
                    180:     PRE_justify_text, line_and_point, do_arrow, set_font_null
                    181: TERM_TABLE_END(prescribe_driver)
                    182:
                    183: #undef LAST_TERM
                    184: #define LAST_TERM prescribe_driver
                    185:
                    186: TERM_TABLE_START(kyo_driver)
                    187:     "kyo", "Kyocera Laser Printer with Courier font",
                    188:     PRE_XMAX, PRE_YMAX, KYO_VCHAR, KYO_HCHAR,
                    189:     PRE_VTIC, PRE_HTIC, options_null, KYO_init, PRE_reset,
                    190:     PRE_text, null_scale, PRE_graphics, PRE_move, PRE_vector,
                    191:     PRE_linetype, PRE_put_text, null_text_angle,
                    192:     PRE_justify_text, line_and_point, do_arrow, set_font_null
                    193: TERM_TABLE_END(kyo_driver)
                    194:
                    195: #undef LAST_TERM
                    196: #define LAST_TERM kyo_driver
                    197:
                    198: #endif /* TERM_TABLE */
                    199: #endif /* TERM_PROTO_ONLY */
                    200:
                    201: #ifdef TERM_HELP
                    202: START_HELP(kyo)
                    203: "1 kyo",
                    204: "?commands set terminal kyo",
                    205: "?set terminal kyo",
                    206: "?set term kyo",
                    207: "?terminal kyo",
                    208: "?term kyo",
                    209: "?kyo",
                    210: "?commands set terminal prescribe",
                    211: "?set terminal prescribe",
                    212: "?set term prescribe",
                    213: "?terminal prescribe",
                    214: "?term prescribe",
                    215: "?prescribe",
                    216: " The `kyo` and `prescribe` terminal drivers support the Kyocera laser printer.",
                    217: " The only difference between the two is that `kyo` uses \"Helvetica\" whereas",
                    218: " `prescribe` uses \"Courier\".  There are no options."
                    219: END_HELP(kyo)
                    220: #endif

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>