[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.1     ! maekawa     1: /*
        !             2:  * $Id: kyo.trm,v 1.12 1998/04/14 00:17:52 drd Exp $
        !             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>