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

Annotation of OpenXM_contrib/gnuplot/term/win.trm, Revision 1.1

1.1     ! maekawa     1: /*
        !             2:  * $Id: $
        !             3:  */
        !             4:
        !             5: /* GNUPLOT - win.trm */
        !             6:
        !             7: /*[
        !             8:  * Copyright 1992 - 1993, 1998
        !             9:  *
        !            10:  * Permission to use, copy, and distribute this software and its
        !            11:  * documentation for any purpose with or without fee is hereby granted,
        !            12:  * provided that the above copyright notice appear in all copies and
        !            13:  * that both that copyright notice and this permission notice appear
        !            14:  * in supporting documentation.
        !            15:  *
        !            16:  * Permission to modify the software is granted, but not the right to
        !            17:  * distribute the complete modified source code.  Modifications are to
        !            18:  * be distributed as patches to the released version.  Permission to
        !            19:  * distribute binaries produced by compiling modified sources is granted,
        !            20:  * provided you
        !            21:  *   1. distribute the corresponding source modifications from the
        !            22:  *    released version in the form of a patch file along with the binaries,
        !            23:  *   2. add special version identification to distinguish your version
        !            24:  *    in addition to the base release version number,
        !            25:  *   3. provide your name and address as the primary contact for the
        !            26:  *    support of your modified version, and
        !            27:  *   4. retain our contact information in regard to use of the base
        !            28:  *    software.
        !            29:  * Permission to distribute the released version of the source code along
        !            30:  * with corresponding source modifications in the form of a patch file is
        !            31:  * granted with same provisions 2 through 4 for binary distributions.
        !            32:  *
        !            33:  * This software is provided "as is" without express or implied warranty
        !            34:  * to the extent permitted by applicable law.
        !            35: ]*/
        !            36:
        !            37: /*
        !            38:  *
        !            39:  * AUTHORS
        !            40:  *
        !            41:  *   Gnuplot for Windows:
        !            42:  *       Maurice Castro, Russell Lang
        !            43:  *
        !            44:  * There is a mailing list for gnuplot users. Note, however, that the
        !            45:  * newsgroup
        !            46:  *     comp.graphics.apps.gnuplot
        !            47:  * is identical to the mailing list (they
        !            48:  * both carry the same set of messages). We prefer that you read the
        !            49:  * messages through that newsgroup, to subscribing to the mailing list.
        !            50:  * (If you can read that newsgroup, and are already on the mailing list,
        !            51:  * please send a message to majordomo@dartmouth.edu, asking to be
        !            52:  * removed from the mailing list.)
        !            53:  *
        !            54:  * The address for mailing to list members is
        !            55:  *        info-gnuplot@dartmouth.edu
        !            56:  * and for mailing administrative requests is
        !            57:  *        majordomo@dartmouth.edu
        !            58:  * The mailing list for bug reports is
        !            59:  *        bug-gnuplot@dartmouth.edu
        !            60:  * The list of those interested in beta-test versions is
        !            61:  *        info-gnuplot-beta@dartmouth.edu
        !            62:  */
        !            63:
        !            64:
        !            65: /* This file implements the terminal and printer display for gnuplot  */
        !            66: /* under Microsoft Windows. The code currently compiles only with the */
        !            67: /* Borland C++ 3.1 compiler.                                          */
        !            68: /*                                                                    */
        !            69: /* The modifications to allow Gnuplot to run under Windows were made  */
        !            70: /* by Maurice Castro (maurice@bruce.cs.monash.edu.au)                 */
        !            71: /* and Russell Lang (rjl@monu1.cc.monash.edu.au)         19 Nov 1992  */
        !            72: /*                                                                    */
        !            73:
        !            74: /* Edit this file with tabstop=4 (vi :se ts=4)                        */
        !            75:
        !            76: /*
        !            77:  * adapted to the new terminal layout by Stefan Bodewig (Dec. 1995)
        !            78:  */
        !            79:
        !            80: #include "driver.h"
        !            81:
        !            82: #ifdef TERM_REGISTER
        !            83: register_term(windows)
        !            84: #endif
        !            85:
        !            86: #ifdef TERM_PROTO
        !            87: TERM_PUBLIC void WIN_options __PROTO((void));
        !            88: TERM_PUBLIC int WIN_scale __PROTO((void));
        !            89: TERM_PUBLIC void WIN_init __PROTO((void));
        !            90: TERM_PUBLIC void WIN_reset __PROTO((void));
        !            91: TERM_PUBLIC void WIN_text __PROTO((void));
        !            92: TERM_PUBLIC void WIN_graphics __PROTO((void));
        !            93: TERM_PUBLIC void WIN_move __PROTO((unsigned int x, unsigned int y));
        !            94: TERM_PUBLIC void WIN_vector __PROTO((unsigned int x, unsigned int y));
        !            95: TERM_PUBLIC void WIN_linetype __PROTO((int lt));
        !            96: TERM_PUBLIC void WIN_put_text __PROTO((unsigned int x, unsigned int y, char *str));
        !            97: TERM_PUBLIC int WIN_justify_text __PROTO((enum JUSTIFY mode));
        !            98: TERM_PUBLIC int WIN_text_angle __PROTO((int ang));
        !            99: TERM_PUBLIC void WIN_point __PROTO((unsigned int x, unsigned int y, int number));
        !           100: TERM_PUBLIC void WIN_resume __PROTO((void));
        !           101: TERM_PUBLIC void WIN_set_pointsize __PROTO((double));
        !           102:
        !           103:
        !           104: /* Initialization values - Guess Now Scale later */
        !           105: #define WIN_XMAX (24000)
        !           106: #define WIN_YMAX (18000)
        !           107: #define WIN_HCHAR (WIN_XMAX/75)
        !           108: #define WIN_VCHAR (WIN_YMAX/25)
        !           109: #define WIN_HTIC (WIN_XMAX/160)
        !           110: #define WIN_VTIC WIN_HTIC
        !           111: #endif /* TERM_PROTO */
        !           112:
        !           113: #ifndef TERM_PROTO_ONLY
        !           114: #ifdef TERM_BODY
        !           115:
        !           116: #include <windows.h>
        !           117: #include "../win/wgnuplib.h"
        !           118:
        !           119: #ifdef __MSC__
        !           120: #include <io.h>                        /* for mktemp() */
        !           121: #endif
        !           122:
        !           123: extern GW graphwin;
        !           124:
        !           125: #define WIN_POINT_TYPES 12
        !           126:
        !           127: /* Interface routines - create list of actions for Windows */
        !           128:
        !           129: TERM_PUBLIC void WIN_options()
        !           130: {
        !           131:     if (!END_OF_COMMAND) {
        !           132:        if (almost_equals(c_token, "d$efault")) {
        !           133:            graphwin.color = TRUE;
        !           134:            strcpy(graphwin.fontname, WINFONT);
        !           135:            graphwin.fontsize = WINFONTSIZE;
        !           136:            c_token++;
        !           137:        }
        !           138:     }
        !           139:     if (!END_OF_COMMAND) {
        !           140:        if (almost_equals(c_token, "m$onochrome")) {
        !           141:            graphwin.color = FALSE;
        !           142:            c_token++;
        !           143:        } else if (almost_equals(c_token, "c$olor")
        !           144:                   || almost_equals(c_token, "c$olour")) {
        !           145:            graphwin.color = TRUE;
        !           146:            c_token++;
        !           147:        }
        !           148:     }
        !           149:     if (!END_OF_COMMAND && isstring(c_token)) {
        !           150:        quote_str(graphwin.fontname, c_token, MAX_ID_LEN);
        !           151:        c_token++;
        !           152:     }
        !           153:     if (!END_OF_COMMAND) {
        !           154:        /* We have font size specified */
        !           155:        struct value a;
        !           156:        graphwin.fontsize = (int) real(const_express(&a));
        !           157:     }
        !           158:     if (graphwin.fontname[0] == '\0')
        !           159:        sprintf(term_options, "%s", graphwin.color ? "color" : "monochrome");
        !           160:     else
        !           161:        sprintf(term_options, "%s \"%s\" %d", graphwin.color ? "color" : "monochrome",
        !           162:                graphwin.fontname, graphwin.fontsize);
        !           163:     if (IsWindow(graphwin.hWndGraph) && IsIconic(graphwin.hWndGraph)) {
        !           164:        ShowWindow(graphwin.hWndGraph, SW_SHOWNORMAL);
        !           165:     }
        !           166:     GraphRedraw(&graphwin);
        !           167: }
        !           168:
        !           169: /* We don't actually do scaling, but we need to fix up the text size
        !           170:  * if the user has resized the window */
        !           171: int WIN_scale()
        !           172: {
        !           173:     term->h_char = graphwin.hchar;
        !           174:     term->v_char = graphwin.vchar;
        !           175:     term->h_tic = graphwin.htic;
        !           176:     term->v_tic = graphwin.vtic;
        !           177:     sprintf(term_options, "%s \"%s\" %d",
        !           178:            graphwin.color ? "color" : "monochrome",
        !           179:            graphwin.fontname, graphwin.fontsize);
        !           180:     return FALSE;              /* can't be done */
        !           181: }
        !           182:
        !           183: TERM_PUBLIC void WIN_init()
        !           184: {
        !           185:     if (!graphwin.hWndGraph) {
        !           186:        graphwin.xmax = WIN_XMAX;
        !           187:        graphwin.ymax = WIN_YMAX;
        !           188:        graphwin.htic = WIN_HTIC;
        !           189:        graphwin.vtic = WIN_VTIC;
        !           190:        GraphInit(&graphwin);
        !           191: #ifdef WIN32
        !           192:        SetClassLong(graphwin.hWndGraph, GCL_HICON, (LONG) LoadIcon(graphwin.hInstance, "GRPICON"));
        !           193: #else
        !           194:        SetClassWord(graphwin.hWndGraph, GCW_HICON, LoadIcon(graphwin.hInstance, "GRPICON"));
        !           195: #endif
        !           196:        graphwin.resized = FALSE;
        !           197:     }
        !           198: }
        !           199:
        !           200:
        !           201: TERM_PUBLIC void WIN_reset()
        !           202: {
        !           203: }
        !           204:
        !           205: TERM_PUBLIC void WIN_text()
        !           206: {
        !           207:     GraphEnd(&graphwin);
        !           208: }
        !           209:
        !           210: TERM_PUBLIC void WIN_graphics()
        !           211: {
        !           212:     GraphStart(&graphwin, pointsize);
        !           213: }
        !           214:
        !           215: TERM_PUBLIC void WIN_move(x, y)
        !           216: unsigned int x, y;
        !           217: {
        !           218:     GraphOp(&graphwin, W_move, x, y, NULL);
        !           219: }
        !           220:
        !           221: TERM_PUBLIC void WIN_vector(x, y)
        !           222: unsigned int x, y;
        !           223: {
        !           224:     GraphOp(&graphwin, W_vect, x, y, NULL);
        !           225: }
        !           226:
        !           227: TERM_PUBLIC void WIN_linetype(lt)
        !           228: int lt;
        !           229: {
        !           230:     GraphOp(&graphwin, W_line_type, lt, 0, NULL);
        !           231: }
        !           232:
        !           233: TERM_PUBLIC void WIN_put_text(x, y, str)
        !           234: unsigned int x, y;
        !           235: char *str;
        !           236: {
        !           237:     GraphOp(&graphwin, W_put_text, x, y, str);
        !           238: }
        !           239:
        !           240: TERM_PUBLIC int WIN_justify_text(mode)
        !           241: enum JUSTIFY mode;
        !           242: {
        !           243:     GraphOp(&graphwin, W_justify, mode, 0, NULL);
        !           244:     return (TRUE);
        !           245: }
        !           246:
        !           247: TERM_PUBLIC int WIN_text_angle(ang)
        !           248: int ang;
        !           249: {
        !           250:     if (graphwin.rotate)
        !           251:        GraphOp(&graphwin, W_text_angle, ang, 0, NULL);
        !           252:     return graphwin.rotate;
        !           253: }
        !           254:
        !           255: TERM_PUBLIC void WIN_point(x, y, number)
        !           256: unsigned int x, y;
        !           257: int number;
        !           258: {
        !           259:     /* draw point shapes later to save memory */
        !           260:     /* size of point symbols */
        !           261:     graphwin.htic = pointsize * term->h_tic / 2;
        !           262:     graphwin.vtic = pointsize * term->v_tic / 2;
        !           263:     if (number >= 0)
        !           264:        number %= WIN_POINT_TYPES;
        !           265:     number += 1;
        !           266:     GraphOp(&graphwin, W_dot + number, x, y, NULL);
        !           267: }
        !           268:
        !           269: TERM_PUBLIC void WIN_resume(void)
        !           270: {
        !           271:     GraphResume(&graphwin);
        !           272: }
        !           273:
        !           274: TERM_PUBLIC void WIN_set_pointsize(s)
        !           275: double s;
        !           276: {
        !           277:     /* Save new pointsize as string */
        !           278:     char scale[30];
        !           279:     sprintf(scale, "%.15g", s);
        !           280: #if 1
        !           281:     /* HBB 980309: it seems passing it as a string is a bad idea
        !           282:      * in Win16: it means the wgnuplot.dll has to parse the string
        !           283:      * via sscanf(), leading to crash (by stack overflow?). Alternative:
        !           284:      * pass it as a scaled-up integer. For the sake of compatibility,
        !           285:      * pass the string as well. */
        !           286:     GraphOp(&graphwin, W_pointsize, (int) 100 * s, 0, scale);
        !           287: #else
        !           288:     GraphOp(&graphwin, W_pointsize, 0, 0, scale);
        !           289: #endif
        !           290: }
        !           291:
        !           292: #endif /* TERM_BODY */
        !           293:
        !           294: #ifdef TERM_TABLE
        !           295:
        !           296: TERM_TABLE_START(win_driver)
        !           297:     "windows", "Microsoft Windows",
        !           298:     WIN_XMAX, WIN_YMAX, WIN_VCHAR, WIN_HCHAR,
        !           299:     WIN_VTIC, WIN_HTIC, WIN_options, WIN_init, WIN_reset,
        !           300:     WIN_text, null_scale, WIN_graphics, WIN_move, WIN_vector,
        !           301:     WIN_linetype, WIN_put_text, WIN_text_angle,
        !           302:     WIN_justify_text, WIN_point, do_arrow, set_font_null,
        !           303:     WIN_set_pointsize, TERM_CAN_MULTIPLOT,
        !           304:     WIN_text /* suspend */ , WIN_resume, 0             /*boxfill */
        !           305: TERM_TABLE_END(win_driver)
        !           306:
        !           307: #undef LAST_TERM
        !           308: #define LAST_TERM win_driver
        !           309:
        !           310: #endif /* TERM_TABLE */
        !           311: #endif /* TERM_PROTO_ONLY */
        !           312:
        !           313: #ifdef TERM_HELP
        !           314: START_HELP(windows)
        !           315: "1 windows",
        !           316: "?commands set terminal windows",
        !           317: "?set terminal windows",
        !           318: "?set term windows",
        !           319: "?terminal windows",
        !           320: "?term windows",
        !           321: "?windows",
        !           322: " Three options may be set in the `windows` terminal driver.",
        !           323: "",
        !           324: " Syntax:",
        !           325: "       set terminal windows {<color>} {\"<fontname>\"} {<fontsize>}",
        !           326: "",
        !           327: " where `<color>` is either `color` or `monochrome`, `\"<fontname>\"` is the",
        !           328: " name of a valid Windows font, and `<fontsize>` is the size of the font in",
        !           329: " points.",
        !           330: "",
        !           331: " Other options may be set with the graph-menu, the initialization file,",
        !           332: " and `set linestyle`.",
        !           333: /* Does this really belong here? If not, someone move it where it does. */
        !           334: "",
        !           335: " The Windows version normally terminates immediately as soon as the end of",
        !           336: " any files given as command line arguments is reached (i.e. in non-interactive",
        !           337: " mode). It will also not show the text-window at all, in this mode, only",
        !           338: " the plot. By giving the optional argument",
        !           339: " `/noend` or `-noend`, you can disable this behaviour.",
        !           340: "2 graph-menu",
        !           341: "?commands set terminal windows graph-menu",
        !           342: "?set terminal windows graph-menu",
        !           343: "?set term windows graph-menu",
        !           344: "?windows graph-menu",
        !           345: "?graph-menu",
        !           346: " The `gnuplot graph` window has the following options on a pop-up menu",
        !           347: " accessed by pressing the right mouse button or selecting `Options` from the",
        !           348: " system menu:",
        !           349: "",
        !           350: " `Bring to Top` when checked brings the graph window to the top after every",
        !           351: " plot.",
        !           352: "",
        !           353: " `Color` when checked enables color linestyles.  When unchecked it forces",
        !           354: " monochrome linestyles.",
        !           355: "",
        !           356: " `Copy to Clipboard` copies a bitmap and a Metafile picture.",
        !           357: "",
        !           358: " `Background...` sets the window background color.",
        !           359: "",
        !           360: " `Choose Font...` selects the font used in the graphics window.",
        !           361: "",
        !           362: " `Line Styles...` allows customization of the line colors and styles.",
        !           363: "",
        !           364: " `Print...` prints the graphics windows using a Windows printer driver and",
        !           365: " allows selection of the printer and scaling of the output.  The output",
        !           366: " produced by `Print` is not as good as that from `gnuplot`'s own printer",
        !           367: " drivers.",
        !           368: "",
        !           369: " `Update wgnuplot.ini` saves the current window locations, window sizes, text",
        !           370: " window font, text window font size, graph window font, graph window font",
        !           371: " size, background color and linestyles to the initialization file",
        !           372: " `WGNUPLOT.INI`.",
        !           373: "2 printing",
        !           374: "?commands set terminal windows printing",
        !           375: "?set terminal windows printing",
        !           376: "?set term windows printing",
        !           377: "?windows printing",
        !           378: "?printing",
        !           379: " In order of preference, graphs may be be printed in the following ways.",
        !           380: "",
        !           381: " `1.` Use the `gnuplot` command `set terminal` to select a printer and `set",
        !           382: " output` to redirect output to a file.",
        !           383: "",
        !           384: " `2.` Select the `Print...` command from the `gnuplot graph` window.  An extra",
        !           385: " command `screendump` does this from the text window.",
        !           386: "",
        !           387: " `3.` If `set output \"PRN\"` is used, output will go to a temporary file.  When",
        !           388: " you exit from `gnuplot` or when you change the output with another `set",
        !           389: " output` command, a dialog box will appear for you to select a printer port.",
        !           390: " If you choose OK, the output will be printed on the selected port, passing",
        !           391: " unmodified through the print manager.  It is possible to accidentally (or",
        !           392: " deliberately) send printer output meant for one printer to an incompatible",
        !           393: " printer.",
        !           394: "2 text-menu",
        !           395: "?commands set terminal windows text-menu",
        !           396: "?set terminal windows text-menu",
        !           397: "?set term windows text-menu",
        !           398: "?windows text-menu",
        !           399: "?text-menu",
        !           400: " The `gnuplot text` window has the following options on a pop-up menu accessed",
        !           401: " by pressing the right mouse button or selecting `Options` from the system",
        !           402: " menu:",
        !           403: "",
        !           404: " `Copy to Clipboard` copies marked text to the clipboard.",
        !           405: "",
        !           406: " `Paste` copies text from the clipboard as if typed by the user.",
        !           407: "",
        !           408: " `Choose Font...` selects the font used in the text window.",
        !           409: "",
        !           410: " `System Colors` when selected makes the text window honor the System Colors",
        !           411: " set using the Control Panel.  When unselected, text is black or blue on a",
        !           412: " white background.",
        !           413: "",
        !           414: " `Update wgnuplot.ini` saves the current text window location, text window",
        !           415: " size, text window font and text window font size to the initialisation file",
        !           416: " `WGNUPLOT.INI`.",
        !           417: "",
        !           418: " `MENU BAR`",
        !           419: "",
        !           420: " If the menu file `WGNUPLOT.MNU` is found in the same directory as",
        !           421: " WGNUPLOT.EXE, then the menu specified in `WGNUPLOT.MNU` will be loaded.",
        !           422: " Menu commands:",
        !           423: "",
        !           424: " [Menu] starts a new menu with the name on the following line.",
        !           425: "",
        !           426: " [EndMenu] ends the current menu.",
        !           427: "",
        !           428: " [--] inserts a horizontal menu separator.",
        !           429: "",
        !           430: " [|] inserts a vertical menu separator.",
        !           431: "",
        !           432: " [Button] puts the next macro on a push button instead of a menu.",
        !           433: "",
        !           434: " Macros take two lines with the macro name (menu entry) on the first line and",
        !           435: " the macro on the second line.  Leading spaces are ignored.  Macro commands:",
        !           436: "",
        !           437: " [INPUT] --- Input string with prompt terminated by [EOS] or {ENTER}",
        !           438: "",
        !           439: " [EOS] --- End Of String terminator.  Generates no output.",
        !           440: "",
        !           441: " [OPEN] --- Get name of file to open from list box, with title of list box",
        !           442: " terminated by [EOS], followed by default filename terminated by [EOS] or",
        !           443: " {ENTER}.  This uses COMMDLG.DLL from Windows 3.1.",
        !           444: "",
        !           445: " [SAVE] --- Get name of file to save.  Similar to [OPEN]",
        !           446: "",
        !           447: " Macro character substitutions:",
        !           448: "",
        !           449: " {ENTER} --- Carriage Return '\\r'",
        !           450: "",
        !           451: " {TAB} --- Tab '\\011'",
        !           452: "",
        !           453: " {ESC} --- Escape '\\033'",
        !           454: "",
        !           455: " {^A} --- '\\001'",
        !           456: "",
        !           457: " ...",
        !           458: "",
        !           459: " {^_} --- '\\031'",
        !           460: "",
        !           461: " Macros are limited to 256 characters after expansion.",
        !           462: "2 wgnuplot.ini",
        !           463: "?commands set terminal windows wgnuplot.ini",
        !           464: "?set terminal windows wgnuplot.ini",
        !           465: "?set term windows wgnuplot.ini",
        !           466: "?windows wgnuplot.ini",
        !           467: "?wgnuplot.ini",
        !           468: " Windows `gnuplot` will read some of its options from the `[WGNUPLOT]` section",
        !           469: " of `WGNUPLOT.INI` in the Windows directory.  A sample `WGNUPLOT.INI` file:",
        !           470: "",
        !           471: "       [WGNUPLOT]",
        !           472: "       TextOrigin=0 0",
        !           473: "       TextSize=640 150",
        !           474: "       TextFont=Terminal,9",
        !           475: "       GraphOrigin=0 150",
        !           476: "       GraphSize=640 330",
        !           477: "       GraphFont=Arial,10",
        !           478: "       GraphColor=1",
        !           479: "       GraphToTop=1",
        !           480: "       GraphBackground=255 255 255",
        !           481: "       Border=0 0 0 0 0",
        !           482: "       Axis=192 192 192 2 2",
        !           483: "       Line1=0 0 255 0 0",
        !           484: "       Line2=0 255 0 0 1",
        !           485: "       Line3=255 0 0 0 2",
        !           486: "       Line4=255 0 255 0 3",
        !           487: "       Line5=0 0 128 0 4",
        !           488: "",
        !           489: " The `GraphFont` entry specifies the font name and size in points.  The five",
        !           490: " numbers given in the `Border`, `Axis` and `Line` entries are the `Red`",
        !           491: " intensity (0--255), `Green` intensity, `Blue` intensity, `Color Linestyle`",
        !           492: " and `Mono Linestyle`.  `Linestyles` are 0=SOLID, 1=DASH, 2=DOT, 3=DASHDOT,",
        !           493: " 4=DASHDOTDOT.  In the sample `WGNUPLOT.INI` file above, Line 2 is a green",
        !           494: " solid line in color mode, or a dashed line in monochrome mode.  The default",
        !           495: " line width is 1 pixel.  If `Linestyle` is negative, it specifies the width of",
        !           496: " a SOLID line in pixels.  Line1 and any linestyle used with the `points` style",
        !           497: " must be SOLID with unit width.",
        !           498: "2 windows3.0",
        !           499: "?commands set terminal windows windows3.0",
        !           500: "?set terminal windows windows3.0",
        !           501: "?set term windows windows3.0",
        !           502: "?windows windows3.0",
        !           503: "?windows3.0",
        !           504: " Windows 3.1 is preferred, but WGNUPLOT will run under Windows 3.0 with the",
        !           505: " following restrictions:",
        !           506: " `1.` COMMDLG.DLL and SHELL.DLL (available with Windows 3.1 or Borland C++",
        !           507: " 3.1) must be in the windows directory.",
        !           508: "",
        !           509: " `2.` WGNUPLOT.HLP produced by Borland C++ 3.1 is in Windows 3.1 format.",
        !           510: " You need to use the WINHELP.EXE supplied with Borland C++ 3.1.",
        !           511: "",
        !           512: " `3.` It will not run in real mode due to lack of memory.",
        !           513: "",
        !           514: " `4.` TrueType fonts are not available in the graph window.",
        !           515: "",
        !           516: " `5.` Drag-drop does not work."
        !           517: END_HELP(windows)
        !           518: #endif /* TERM_HELP */

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