KEMBAR78
Xy4 Customization Guide | PDF | Menu (Computing) | Computer Keyboard
0% found this document useful (0 votes)
296 views318 pages

Xy4 Customization Guide

Uploaded by

7tharmd
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
296 views318 pages

Xy4 Customization Guide

Uploaded by

7tharmd
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 318

XyList Community Manuals Archive:

XyWrite 4.0 Customization Guide


Published by The Technology Group in 1993
Customization GukS®

C:\XY4
Customization Guide
Copyright 1993 by The Technology Group
First Edition (Revised), March 1993
Document Control No. 003506-02

ALL RIGHTS RESERVED


The Technology Group reserves the right to make changes to this
document without notice.

The Technology Group


36 South Charles Street
Baltimore, MD 21201
410-576-2040

This document was produced using XyWrite 4.0.


Table of Contents

Preface
Custom Commands
1 Creating a Custom Command Set
2 Using the Custom Command Set

Defaults
6 Default File
8 Default Command
10 Default Settings
43 Display Mode Colors
49 Customization Tables

Keyboard File
56 Modifying Keyboard Files
64 Function Calls

Memory
82 Load Customization Files
84 Select Print Destination
86 Load Cartridge Fonts

Menu and Help Files


92 Menu, Dialog Box and Help File Frames
95 Linking Frames
97 Including Comments in a Menu, Dialog Box, or Help File
98 Displaying a Menu Bar
100 Creating a Pull-Down Menu
103 Creating a Dialog Box
124 Executing a Routine
125 Positioning Dialog Box and Help Screens
126 Using Accelerator Characters in Menu Screens
128 Providing Context-Sensitive Help Screens
131 Displaying a Scrollable Help Screen
133 Including Text in Screen Borders
134 Displaying Detailed Explanations of Error Messages
135 Testing Dialog Boxes and Help Frames
136 Accessing a Menu Screen with One Keystroke
137 Accessing a Help Screen with One Keystroke
138 Loading Menu, Dialog Box, and Help Files
ill
Table of Contents

Printer Files
140 Basics of the Printer File
147 Printer File Heading
148 Printer Control Table
153 Printer Control Commands
155 Font Matching
156 Screen Font Assignments
158 Printer Font Assignments
160 Default Settings
162 Printer Settings
165 Character Mode Table
167 Graphics Settings
171 Terminator Strings
173 Vertical Spacing
174 Microjustification
177 Attribute Tables
178 Font Tables
183 String Operators
185 Width Tables
187 Substitution Tables

Sort File
190 Creating the Sort File
191 Sorting to a Sequence of Letters
191 Loading a Sort File

Startup File
194 Running the STARTUP.INT File
194 Modifying STARTUP.INT

User Programming
199 Procedures for User Programming
202 Function Calls
203 Macros
204 XPL Commands
217 XPL Operators and Functions
219 Examples

iv
Table of Contents

Variables
224 Value of Variable
225 VA Settings

Appendixes
A-l Advanced Keyboard Functions
B-l Terminate and Stay Resident Programs
C-l Foreign Language Support
D-l Reserved XyWrite Elements
E-l XyWrite Character Set
NOTES

vi
Preface

The Customization Guide describes XyWrite functions that are beyond the
scope of the Command Reference Guide. It is intended for technical
coordinators, office information technology managers, LAN
administrators, and others with technical expertise.

The Customization Guide gives information and instructions on the


following topics.

• Custom Commands. This section explains the procedure for


developing a customized set of XyWrite commands and function calls.
• Defaults. This section explains SETTINCS.DFL, XyWrite's default file.
It also documents all the defaults available, as well as color settings
and customization tables.
• Keyboard File. This section describes the procedure for modifying the
XyWrite keyboard file and lists the available function calls.
• Memory. This section describes the commands you use to load custom
information into memory.
• Menu and Help Files. This section gives you the information you need
to customize the standard XyWrite files (XY4.MNU and XY4.HLP) or
create your own.
• Printer Files. This section describes the basic construction of a printer
file. You can use this information in conjunction with the
documentation provided by the printer manufacturer to customize or
create a printer file.
• Sort Table. This section gives you the information you need to create a
sort table so you can modify the order in which XyWrite sorts data.
• Startup File. This section describes the format and function of the
XyWrite initialization file and explains how to modify it.
• User Programming. This section explains the procedure for using
XyWrite Programming Language (XPL), and describes the commands
and operators available to you.
• Variable Settings. This section describes the VA (Value of Variable)
command, which obtains the current value of a XyWrite setting. It also
includes a list of system settings for which you can obtain values.

There are also five appendixes:

• Appendix A. Advanced Keyboard Functions. This appendix contains


a description of some keyboard shortcuts that are designed for the
advanced user.

vii
Preface (con'td)

• Appendix B. Terminate-and-Stay-Resident Programs. This appendix


provides some tips on using TSR programs with XyWrite.
• Appendix C. Foreign Language Support. This appendix describes two
features of XyWrite that are useful for foreign language applications:
the accent table and uppercase table.
• Appendix D. Reserved XyWrite Elements. This appendix lists ID
numbers, keywords, and macros reserved for use by XyWrite.
• Appendix E. XyWrite Character Set. This appendix lists the entire
character set.

For more information about XyWrite, refer to the following publications:


Command Reference Guide
Installation and Learning Guide
LAN Administrator’s Guide
Custom Commands

Purpose XyWrite's command override feature lets you create your own set of
commands. You can redefine the functions associated with existing
immediate commands (such as CALL and DIR) and function calls (such as
CL and YD), or you can create new command names.

Custom command sets are stored in a separate customization file and


loaded into memory with the LOAD command. Once the command set
has been defined and loaded, you activate it with the OO (Override On)
and OX (Override Off) commands.

Action Creating a Custom Command Set


To create a custom command set:
1. Create the customization file. For example:
Type: [fsjnew command.setlZil

2. On the first line, type the label that identifies this file as a command set.
Be sure to type it in uppercase.
Type: ;U2;

3. Create the first custom command. The format of each immediate


command in the set is:
{{5/AAnflme}} (or ({5zAMawe)l —see Note #1)
BcodeB
where name is the name of the immediate command or function call
you are redefining or the name of the immediate command you are
creating and code is the XPL (XyWrite Programming Language)
instruction you want the command to execute.
Let's take a look at a simple example (a more complex example is
presented at the end of this section). We'll create a new command
named GET that calls a frequently referenced appointment file named
DATES.
a. Type the command label followed by a carriage return.
Type: {{5,AAget}}*-
b. Type ASCII character 2.
Type: |Aii] [ciiil2 (on the numeric keypad)
Custom Commands (cont'd)

c. Write the program for command you want to execute. (Refer to


"User Programming" for instructions on writing XPL programs.)
We recommend that you start all programs with instructions to
disable command override. For our example, the program would
look like this:
BX oxO2 BX call c:\xy4\docs\datesQ2 BX ooQ2 « ex»
Note that the last two commands turn on command override and
exit the program.
d. Type an ASCII character 2 to mark the end of the code for this
command.

4. Repeat step 3 for every command you want to redefine or create.

5. Store the file.

ACTION Using the Custom Command Set


To use the custom command set:
1. Load it into memory. For example;
Type: [fs]load command.set0

2. Turn on command override.


Type: [F5]oo[Zil

3. Issue any of the commands in the custom set. If you redefined a


standard Xy Write immediate command or function call, the new
definition will be applied.

4. To restore the standard XyWrite functions and commands, turn off


command override.
Type: [Rjoxg]

NOTE #1 Command Labels. If you are redefining or creating a new immediate


command, type two carets (A “) before name. If you are redefining a
function call, type one caret before name.

NOTE #2 Function Calls. You should use caution when redefining function calls or
you may not get the results you expect. We recommend that you avoid
redefining the function calls BC, BX, Q2, and XC.

NOTE #3 VA Command. You can check the status of command override with
VASOO. A value of 0 means it is off; a value of 1 means it is on.

2
(confd) Custom Commands

NOTE #4 Command Line. If you need the contents of the command line, your XPL
program should include a command to save it before you execute any
other BX or BC functions. For example, to save the contents of the
command line to macro 01, insert the following instructions at the
beginning of the XPL code that defines your custom command:
«sx01,«va$cl»»

EXAMPLE {{S.GetArg}}
a«sv01 AA» « XS40,01,02,03,04» « SX10.«VA$CL» » «XS10,04,05.06,07»
«SX40,« IS07»» 8
<-
{{5,AAopen ,AAo}}
B«SX40,«VA$FR»»JM (2.GetArg) BX oxQ2 BX call«PV40»Q2 BX ooQ2 B
<■
{(5,AAwrite,AAw}}
8«SX40,«VA$FR»»JM (2.GetArg) BX oxQ2 BX save«PV40»Q2 BX ooQ2 8

This example defines two new commands: Open (abbreviated "O") and
Write (abbreviated "W"). In both commands, VA$FR captures the name
of the command override routine that was accessed (AAopen, AAo,
AAwrite, or AAw) and stores it to macro 40.

The program then jumps to a routine called CetArg, which captures any
argument that was typed after the custom command, including any
switches, such as /NV. Notice that the JM function call uses "2." at the
beginning of the jump. The "2." indicates that "GetArg" is in the U2
customization file.

GetArg parses the AA from the command, storing the result in macro 04.
It then uses VA$CL to capture the text from the entire command line in
macro 10. Next, macro 04 is parsed out of macro 10, and the results are
saved in macro 07. For example, if you type the command:
w/nv newfile.doc
the string "/nv newfile.doc" is saved in macro 07. Finally, macro 07 is
saved back to macro 40.

In the original routine, macro 40 is put out as part of the XyWrite


command. In the example, W/NV NEWFILE.DOC is executed as
SAVE/NV NEWFILE.DOC.

3
NOTES
Defaults

Intro When XyWrite first starts up, it provides you with its own set of defaults.
You can use the DEFAULT and DF commands to change the values of
these settings, either temporarily or permanently. Permanent changes are
stored in a customization file called SETT1NGS.DFL, which is loaded
every time you start XyWrite.

This section also describes the MD command, which lets you customize
the display colors of text, and the SE, PP and CS tables, which specify the
separators, port/printer file combinations and counter strings XyWrite
uses.

Contents page section Command

6 Default File
8 Default Command DEFAULT, DF
10 Default Settings
43 Display Mode Colors MD
49 Customization Tables SE, PP, CS

5
Default File

PURPOSE The default file, SETTINGS.DFL, contains the commands and tables that
override XyWrite's built-in values for anything from page layout settings
to screen colors. You can add to SETTINGS.DFL either manually or via the
menu.
The information in SETTINGS.DFL can be grouped into three categories:
• Settings that can be defined with the DF (Default) command
• Display mode colors
• Customization tables, e.g., PP (Pick Printer) table

As in other customization files, the first line of SETT1NGS.DFL contains a


label. The label for a default file is the same as that for a printer file:
;PR;
This label must be typed in uppercase, and must appear at the beginning
of the first line of the file for XyWrite to recognize it as a default file.

ACTION Modifying SETTINGS.DFL


You edit SETTINGS.DFL just as you would any text file. Let's change the
default settings for WD (Widows) and OP (Orphans) to 3 (the initial value
for each is 2).
1. Call SETTINGS.DFL to the screen.
2. Search for the existing WD setting (see Note #2).
3. Change the number after the equals sign to a 3.
4. Repeat steps 2 and 3 for the OP setting.
5. Store the file.
Result: The next time you load the file, the value of WD and OP will be 3.
(See the procedure “Loading SETTINGS.DFL.'')

ACTION Loading SETTINGS.DFL


SETTLNGS.DFL is automatically loaded during startup, but if you make a
manual change to it, you must reload it in order for the change to take
effect. To load SETTINGS.DFL into memory:
Type: [fs]load settings.dfl0
Result: Any new values are loaded into memory. Existing default values
are not changed unless they are explicitly overwritten.

6
(cont'd) Default File

Note m Determining the Current Value. If you want to know what the current
value of a default setting is, use the VA (Value) command, which is
described later in this guide.

Note #2 Adding a Value to SETTINGS.DFL. If the default setting you want to


modify is not already specified in SETTINGS.DFL, we recommend adding
it to the bottom of the file. The format is:
df nni=#«-
Be sure to include the unit of measure, if applicable. For more informa­
tion, see "Default Command" later in this section.

NOTE #3 Duplicate Settings. If you inadvertently define the same setting twice,
the second setting overrides the first one.

NOTE #4 Priority of Default Settings. A command embedded in text takes priority


over the same command entered with a default command anywhere else
— on the command line, in the SETTINGS.DFL file, or in the printer file.
For example, RM 8 embedded into the document takes precedence over a
default setting of DF RM=7IN entered in SETTINGS.DFL or a printer file
and over DEFAULT RM=7 entered on the command line.

Note #5 Unit of Measure. When you issue a command from the command line,
XyWrite automatically appends the default unit of measure if you don't
supply one. When you enter a DF command in a default file, you must
include the appropriate unit of measure. Otherwise, XyWrite will assume
horizontal values to be in tenths of an inch and vertical values to be in
sixths of an inch.
Default Command DF, DEFAULT

FORMAT ETTZIDEFAULT/nv nm-U (on command line or in STARTUP.INT file)


DF n«i=# (in SETTINGS.DFL or printer file)
/nv is an optional switch that preserves upper- and lowercase letters and
spaces in the command.
nm is the two-letter name of the command.
= (equal sign) separates the name from the value.
• is the value of the command.
MENU EES3EEEHESj3

PURPOSE The DEFAULT and DF commands change the value of XyWrite default
settings. Both commands can be used to change any default setting, and
both affect all files — not only newly created files.
There are several differences between the two commands:
• The DEFAULT command is issued from the command line. The DF
command is stored in SETTINGS.DFL, a printer file, or other default
file. The stored settings are executed when you load the file that
contains them.
• The DEFAULT command adds the default unit of measure to format
settings. The DF command requires you to include the unit of
measure. For example, the following commands are equivalent:
[Fsjdefault rm-70
df rm=7IN0
• The DEFAULT command ignores upper- and lowercase and spaces
within a default setting unless you include the /NV switch. The DF
command honors both case and spaces without the switch. The
following commands are equivalent:
[F5]default/nv mg^Happy Birthdav!0
df mg=Happy Birthday!0

ACTION Entering Defaults into SETTINGS.DFL


The procedure for entering defaults into SETTINGS.DFL is described in
the previous section "Default File."
(cont'd) Default Command

Action Entering Defaults from the Command Line


When you want to change a default temporarily (only for the current
editing session), the appropriate method is to change it from the command
line. For example, to set the right margin at 7 inches:
Type: [Fsjdefault rm=7p]
Result: These changes take effect immediately — whenever you create a
new document or call an existing one, until you quit XyWrite or change
the defaults.

Action Entering Defaults into STARTUP.INT


In general, we recommend that you specify permanent default settings in
SETTINGS.DFL, but there are exceptions. For example, the DR (Drive)
default setting is specified on the first line of STARTUP.INT because it
establishes information that XyWrite may need to complete loading.

STARTUP.INT is a program file. To enter a default command into it, you


must start the line with the BC (Blank Command Line) function call. The
procedure is:

1. Call STARTUP.INT.
2. Move the cursor to the point where you want to enter the new default.
3. Enter the BC function call.
Press: |CVI||Aft|IShiftIB
4. Enter the DEFAULT command. For example:
Type: default nd=e,f,z
5. Store STARTUP.INT
Result: The next time you start XyWrite or run STARTUP.INT, the default
command that establishes network drives will be automatically executed.
(Refer to "Startup File" for more information about modifying
STARTUP.INT.)

Note #1 Defaults in the Printer File. The procedure for putting a default setting in
a printer file is identical to the procedure for modifying SETTINGS.DFL.

NOTE #2 Priority of Default Settings. Commands embedded in text take priority


over all other settings — those entered in the SETTINGS.DFL file, the
STARTUP.INT file, the command line, or in the printer file. In other
words, RM 8 embedded into the document takes precedence over a
default setting of RM=7IN in the SETTINGS.DFL file, the STARTUP.INT
file, the printer file, or on the command line.

9
Default Settings

PURPOSE Default settings let you change the value of XyWrite settings. Default
settings can be divided into four categories:
• Format Settings — Set the initial format conditions at the start of every
file. For example, you might use it to set the right margin at 7 inches
and the type size at 11 points.
• System Settings — Set controls specific to your system, such as
adjusting the level of audible signals and establishing error prompts.
• Display Settings — Set controls specific to your monitor. Also sets
your preferences for colors and display styles. For a list of available
colors, refer to “Color Settings" later in this section.
• Printer Settings — Set controls specific to your printer. (Some printer
settings are defined in printer files, not the default file.)

The following table lists the XyWrite default settings, along with the initial
default value. Note that the initial value of some of the system, printer,
and display defaults varies, depending on the setup you have. For
example, the SI (Screen Resolution) default is different for EGA and VGA.
XyWrite establishes the values that are appropriate for your setup based
on the choices you make during installation.

Default Description Initial Default Value


Format Settings
df al Automatic Leading 1
df bl Blank Lines 0
df bl Bottom Footnote 1
df bt Bottom Margin 1in,1in.1.25in,.75in
df cf Change Footnote Separator 0
df dy Color 0.0
df dz Date Format Mmmm d, yyyy
df ee Element End 0
df ef Special Effect 0
df et Element Top 0
df fc Flush Center FL
df fd Form Depth 11in
df fl Rush Lett FL
df fr Rush Right FL
df ft Footnote Transition 0
df gu Gutter ,2in,0
df hy Hyphenation 0
df ip Indent Paragraph 0.0.0
dl ju Justification NJ
df II Line Leading 0.0
df Im Left Margin 1 in

10
(conrd) Default Settings

Default Description Initial Default Value


Format Settings (cont'd)
df jq Letter Quality 0
df Is Line Space 1li
df md Display Mode NM
df n| No Justification NJ
df of Offset 1in,1in
df op Orphan 2
df or Orientation 0
df pw Page Width 8.5in
df rm Right Margin 11in
df rt Relative Tabs 1
df sc Superscript Numbers NM
df sz Size 12 point
df tp Top Margin 1 in J in
df is Tab Set .5in,1,5in,2.5in„
df uf Use Typeface Standard
df ul Underline Style 1
dfwd Widow 2

System Settings
df 1a End of File 0
df ah Allow Hyphenation 0
df aop Autosave Path C:\XY4\DOCS
df aot Autosave Time 0,0
df az Numbering Style 0
df bk Backup 0
df cb Correction Beep 512,4096
df ck Spelling Checker 0
df cv Change Verification 0
df d1 Delete Stack 30,3
df db Debugging Mode 0
df dh Discretionary Hyphen -
dtdl Directory Settings 1,6,0
df dp Decimal Point
df dr Default Drive C:\XY4\
df eb Error Beep 1792,36864
df eh Error Help 0
df ep Error Prompt 1,1,1,1.0,0,1
df 03 Enable Scoping 0
df eu European Punctuation
df fu Footnote Unit 3.5

11
Default Settings (cont'd)

Default Description Initial Default Value


System Settings (cont’d)
df fx Field Separator w
df fz Format Date mm-dd-yy
dfgp Graphics Path C:\XY4\PICTURES\
df hl Header Item %f au %d cm
df ht Header Title Filename Author Saved Comment
df hv Hyphenation Values 6.3.3
df Io Information On/Off 1
df lu Information Menu 1
df Jb Job Begin
df kc Key Click 0.0
df k« Keyboard Speed 0.1
df Ih Low-High 50,100,22
df Iz Redlining Date MM/DD
df ma Find Match 40
df mf Mode for Forms NM
df mg Message —
df mt Military Time 0
df nc Normal Carriage Return 1
df nd Network Drives —
df nl Network Login Path Cl\XY4\
df nw New Window 3
df o1 Options 0
df ob Overstrike Beep 0.0
df oe Open Editor 0
df ol Outline Fonts Path C:\BTFONTS\
df pd Pad Spaces 0
df r2 Mouse Double Click 8
df rb Reverse Button 0
df rl Repetition Interval 5
df rn Round Off Numbers 0
df rs Record Separator <-
df rx Ratio for X Direction 15
df ry Ratio for Y Direction 15
df rz Record Size 3500
df sg Save/Get —
df sk Sort Key 1,80
df sm Show Menus 1
df so Sort Setting Fl
df uh Unit, Horizontal in
df un Untitled File 0
df ur Use Pointer 1
df uv Unit Vertical in

12
(edit'd) Default Settings

Default Description Initial Default Value


System Settings (cont'd)
df vf Variable Forms 0
df wa Wait Time 18
df wo Word Overstrike 0
df ww Filters Path C:\XY4\FILTERS
df xd Read-Only Directory 1
df xf Extract Fields
df xl Selective Directory
df xt Extract Records
df xt Expand Triangle 1
df xy Screen Fonts Path C:\BTFONTS\
df zs Point Sizes 8.9.10,12.14,16,18,24,36,48,72,96

Display Settings
df bw Black/White 1
df bx Window Border Colors 15.7.7...7,15,15,7,240
df cr Cursor Type 0.199.102,4
df dd Define Display 119
df de Soft carriage return
df dt Display Type 1
df eg EGA Control 0
df ga Graphics Adapter MD
df it Insert Cursor Type 519,1543,8193,264.1543.8193,0.1
df IO Action Bar Color 7.12.16,7
df 11 Command Line Color 15,112,112,7
df 12 Prompt Line Color 112,7,15,7
df 13 Ruler Line Color 112,15.15,7
df 14 Pull-Down Menus Color 15,112,112,7,112
df Ic Line End Character <-
df mr Metric Ruler 10
df mw Maximize Windows 1
df od Offset Display 0
df p. Truncated Path Name 14
df pk Page Break Color 23
df px Page Break Character 196
df rd Redline Data 1,14,9,0,249
df rl Ruler Markers
df si Screen Resolution 96,72
df si Screen Length 25
df st Show Tabs 1

13
Default Settings (confd)

Default Description Initial Default Value


Display Settings (cont’d)
df sw Screen Width 80
df um Unhide Modes 0
df wb Window Border Chars. rT-t__j|U--OO
df wf Wrap to Fit 1
df xm Transpose Messages •PL’Fl *TI
df zm Zoom 75

Printer Settings
df b< Backspace 1
df ef Eject Last Page 1
df ft Form Feed 1
df Im Image Mode Printing 0
df ne No Errors from Printer 0
df *q Sequential Pages 0
df tb Tab Character 0
df tf Top Margin 0
df w» Whole Space Justification 0

14
(cont'd) Default Settings

Detail This section contains a description of most of the default settings listed
above. These descriptions are not categorized, but instead are listed in
alphabetical order. The Format settings are described in the Command
Reference Guide, and the information is not repeated here.

NOTE #1 DEFAULT vs DF. The following descriptions use the DF command.


However, all the defaults can also be specified with the DEFAULT
command.

NOTE #2 Color Settings. Many of the default settings specify display colors. For a
list of choices, refer to the color table in "Display Mode Colors" later in
this section. You can also display the available colors by selecting "Color
Choices" from the Help index.

DF 1A Ignore End of File Marker— Enables XyWrite to read past the end of file
marker (1A). (The initial default is 0.)
df 1A=0 Causes XyWrite to honor the end of file marker.
df 1 A=1 Causes XyWrite to ignore the end of file marker. You would use
this if you are including, merging or appending a file from another source
that has a 1A character in it. (Do not use this setting if you have
Document Info turned on.)

DF AH Allow Hyphenation — Enables XyWrite to hyphenate a word that


contains a hard hyphen (e.g., self-evident). (The initial default is 0.)
df ah=0 Hyphenates words that contain hard hyphens.
df ah=1 Does not hyphenate words that contain hard hyphens.

DF AOP Autosave Path — Specifies the path for the Autosave files. (The initial
default is the directory you establish as your working XyWrite directory.)
df aop=d: \ path Format of AOP setting, where d: is the drive letter and path
is the directory where you want XyWrite to put Autosave files. If you just
specify a drive, XyWrite assumes the root directory. iq
df aop=c:\xy4 Example of AOP setting.

DF AOT Autosave Timer — Specifies the amount of time you want to elapse
between autosaves. (The initial default is 0,0.) Vo ’< C V -C—
df aot=?n,n Format of the AOT setting, where nt is the minimum length of
time (0 to 55 minutes) and n (optional) is the maximum length of time (0 to
60 minutes) XyWrite should wait before saving the file. If you do not
specify a maximum time, the default is the minimum time plus 5 minutes.
XyWrite starts counting from the time you make an edit. After the

IS
I tcontd)

minimum time has passed, XyWrite checks to see if you are typing. If you
aren't, XyWrite saves the current file in AUTOSAVn.TMP (where n is the
current window number). If you are typing, XyWrite waits until you
pause or until the maximum amount of time has elapsed before saving.
df aot=10,12 Example of AOT setting.

DF AZ Numbering Style — Changes the sequence style of counters when you are
using upper- and lowercase letters and have more than 26 items for that
counter. (The initial default is 0.)
df az=0 Restarts the letter sequence at the 27th entry as AA, BB, CC, etc.
df az=1 Restarts the letter sequence at the 27th entry as AA, AB, AC, etc.

DF BK Backup of Files —Turns the backup of files on or off. (The initial default
isO.)
df bk=O Does not keep backup copies. (This saves room on your disk.)
df bk=l Keeps backup copies. With this setting, XyWrite makes a backup
at every SAVE. Whenever the SAVE command is executed, XyWrite
renames the previously saved version to filename.BA.K, overwriting any
previous backup, then saves the displayed version. Note that backup does
not happen if you execute SAVE with an argument — such as to a drive
(SAVE A:) or filename (SAVE TEST).

DF BS Backspace Control — Enables your printer to print a backspace, whether


or not your printer can recognize a backspace character. For more
information on this setting, refer to the section on "Printer Files"
elsewhere in this manual.

DF BW Black and White — Specifies a fast screen or a clean screen for systems with
CGAs (Color Graphic Adapters). (The initial default is 1.)
df bw=0 Creates a clean screen, with no flicker, but is slower.
Recommended for systems with CGAs.
df bw=1 Causes XyWrite to update the display faster. This setting
provides improved speed when scrolling text, switching between
windows, and running programs. The cost is a noticeable flicker each
time the screen is updated.

DF BX Window Border Colors — Defines the colors of the window borders,


markers, and graphic view. (The initial default for a monochrome monitor
is 15,7,7,7,7,7,7,7,7,7,15,15,7,240.)
df bx=a,w1,w2,...,w9J^n,t,g Format for the BX setting, where a sets the color
of the active window; wl,w2,...,w9 set the color of windows 1 through 9; /
sets the color of labels; m sets the color of command markers; t sets the
color of tab markers; and g sets the color of graphic view.
df bx=31,23,23,23,23,23,23,23,23,23,32,30,23,240 Example of BX setting.
16
(rent'd) Default Settings

DF CB Correction Beep — The CB (Correction Beep) setting allows you to define


the tone and duration of the beep you hear whenever the Spelling Checker
automatically corrects a misspelling for you. (The initial setting is
512,4096.)
df cb=t,d Format for the CB setting, where t defines the tone of the beep
and d defines the duration of the beep. Both are numbers between 0 and
65534.
df cb=0,0 Example of the CB setting. This command turns the correction
beep off.

DFCF Change Footnote Separator— Defines which footnote separator is printed


on a page. XyWrite supports three independent sets of footnotes, and you
can define a separate style and format for each set. Whether you define
one, two, or three styles of footnote separators, the first thing XyWrite
prints at the bottom of any page that contains footnotes is the separator
associated with footnote set 1. This is true even if there are no footnotes
from set 1 on the page, and results in a uniform appearance of the pages in
your document. To print only the separators associated with footnote sets
that actually appear on the page, change the CF default setting. (The initial
default is 0.)
df cf=O Causes footnote separator 1 to print at the bottom of any page that
contains footnotes.
df cfs1 Causes only the footnote separators that are associated with
footnotes that appear on the page to print.

DF CK Spelling Checker — Turns the checking of words that contain numbers


on and off. (The initial default is 0.)
df ck=0 Causes the Spelling Checker to check words that contain numbers
and letters (e.g., 12th).
df ck=1 Causes the Spelling Checker to ignore all words that contain a
number.

DF CR Cursor Type — Changes the text cursor to be non-blinking and defines the
color of the text cursor or mouse pointer. (The initial default is
0,199,102,4.)
df cr=a,b,c,d Format of the CR setting, where a is the number of the display
mode for the cursor normally, when you are editing text; b is the number
of the display mode for the cursor when a dialog box is displayed
(XyWrite uses this value only if the first value is 0); c is the number of the
display mode for the mouse pointer in the text; and d is a number (0-5)
that specifies the width of the cursor in graphic view (use 0 if you want the

I
Default Settings (cont'd)

cursor to be the width of the character under it; use 1 to make the cursor 1
pixel wide; 2 to make the cursor 2 pixels wide, etc.).
df cr=0,112,88,0 Example of the CR setting.

DF CV Change Verification Prompt — Enables the prompt "Cannot recover


changes—proceed anyway?" whenever you execute the CH (Change)
command; this message reduces the risk of inadvertently making changes.
(The initial default is 0.)
df cv=0 Turns off the prompt.
df cv=1 Enables the prompt.
Regardless of your choice of setting, the changes are not permanent until
you save or store the file.

DF Dl Delete Stack - Defines the number of entries XyWrite keeps in the delete
stack and the minimum number of characters it recognizes as a delete
unit. The initial default is 30,3.
df d1 =e,d Format of the Dl setring, where e is the number of entries in the
delete stack and d is the minimum number of characters recognized as a
delete unit.
df d1=24,7 Example of the Dl setting.

DF DB Debug a Program — Enables you to test parts of your XPL (XyWrite


Programming Language) program so you can verify that it is doing what
you want. Also enables you to create programs that are formatted with
carriage returns and tab settings.
df db=x,y Format of the DB setting, where x is one of the following values:
0 Turn off debugging.
1 Stop on IF statements.
2 Stop on labels.
4 Stop on JM (Jump to Menu) commands.
8 Stop on carriage returns.
16 Stop on commands that don't execute properly.
y (optional) is one of the following:
1 Ignore carriage returns when running the program.
2 Ignore tabs when running the program.
3 Ignore both.
You can add two or more values to stop the program at more than one
type of entry. For example, DF DB=3 stops the program after IF
statements and labels.
18
(cont'd) Default Settings

DF DD Define Display — Changes the appearance of defined blocks. This setting


is useful for low-contrast screens such as those found in laptops. XyWrite
takes the number that you specify and compares it, in binary form, to the
number of the text that is defined. The actual display is based on the
binary difference between those two numbers. The display will differ
from mode to mode; the appearance of the command triangles will also be
affected. We suggest that you choose a number for DD based on the
appearance of normal mode text and the triangles. (The initial default is
119.)
df dd=n Format of the DD setting, where n is the number on which
XyWrite bases its calculations to determine how to display defined text,
df dd=4O Example of the DD setting.

DF DE Soft Carriage Return — Defines the character you want to use as the soft
carriage return. (The default characters are V, -4.)
df de=m,n Format of DE setting, where m is the character you assigned to
a key and it is the character you want to display as the soft carriage return,
df de=<,< Example of DE setting.

Note: If you don't want a character to display, define a space for n by


pressing [Cuil |Ajt]32.

DF DH Discretionary Hyphen — Defines the character you want displayed as a


soft hyphen. (The default character is -.)
df dh=d Format of DH setting, where d is the character you want
displayed as a soft hyphen.
df dh=A Example of the DH setting.

DF DI Directory Settings —Modifies the way a long directory (DIRL) is


displayed. (The initial default is 1,6,0.)
df di=A',/,p Format of the DI setting, where k is the number the file size is to
be divided by; I is the approximate number of lines of text displayed; and
p packs the text (1 removes carriage returns; 0 keeps them.)
df di=1024,4,1 Example of the DI setting.

DF DP Decimal Point — Defines the character used for number alignment in


decimal tabs. The default value is a period (.).
df dp=d Format of DP setting, where d is the character that will be used for
number alignment.
df dp=) Example of the DP setting.

19
Default Settings (cont'd)

DF DR Default Drive for Temporary Files — Specifies the primary and


secondary default drives and paths where you want to save temporary
files. The secondary drive is used only when the primary drive is full. If
you specify a RAM drive as the primary drive and the hard disk as a
secondary drive, you can take advantage of the added speed of a RAM
drive without being handicapped by its smaller size.
df dr=dl:\path,d2:\path Format of the DR setting, where dl:\path is the
primary drive where TMP fies are saved and dl:\path is the secondary
drive where TMP files are saved.
df dr=e:\,c:\sw Example of the DR setting.
DF DT Display Type — Specifies how documents are to be displayed when first
called to the screen. Some of the settings hide the markers—the line-end
symbol (<-) and embedded command markers. DF DT affects all windows.
(The initial default is 1.)
df dt=O Causes the file to display in expanded view.
df dt=1 Causes the file to display in draft view with page breaks off,
markers visible.
df dt=2 Causes the file to display in draft view with page breaks on,
markers visible.
df dt=4 Causes the file to display in graphic view with markers visible,
df dt=9 Causes the file to display in draft view with page breaks off,
markers hidden.
df dt=1O Causes the file to display in draft view with page breaks on,
markers hidden.
df dt=12 Causes the file to display in graphic view with markers hidden.
DF DZ Date Format — Modifies the way the date is displayed by the DA and
TODAY commands. (The initial default is Mmmm d, yyyy for Month,
Day, Year.)
df dz=date Format of the DZ setting, where date is any combination of the
following:
MMMM Complete name of month. To make the letters of the month
lowercase, use m instead of M.
MMM Three-letter abbreviation
MM Two-digit month (01-12)
M Months 1-12
ddd Days with leading space for days 1-9
dd Days with leading zero for days 1-9
d Days with no leading zero or space
yyyy Four-digit year
yy Two-digit year
(corn'd) Default

DF EB Error Beep — Defines the tone and duration of the beep you hear
whenever XyWrite detects an error. The speed of the hardware will affect
the duration of the beep, so if you have a faster machine you should
increase the duration setting accordingly. We recommend multiplying the
duration by 4 on 386 machines. (The initial setting is 1792,36864.)
df eb=t,d Format of the EB setting where t defines the tone of the beep
and d defines the duration of the beep. Both are numbers between 0 and
65534.
df eb=768,6144 Example of EB setting.

DF EG EGA Support — Specifies 25 screen linos or 43 screen lines if you have an


IBM Enhanced Graphics Adapter (EGA). (The initial default is 0.)
df eg=0 Produces 25 screen lines.
df eg=1 Produces 43 screen lines on a black & white monitor.
df eg=2 Produces 43 screen lines on a color monitor.

DF EH Display Error Help Frame — Enables an error screen to appear (from the
help file) whenever an error occurs. (The initial default is 0.)
df eh=1 The error/help frames are displayed whenever an error occurs.
This feature is useful when you are learning, because you can display
information about how to continue. However, it can slow performance
considerably.
df eh=0 The error/help frames are disabled.

DF EJ Eject Last Page — Enables XyWrite to eject the very last page of a
document. For more information on this setting, refer to the section on
"Printer Files" elsewhere in this manual.

DF E P Error Prompt — Enables a variety of prompts designed to give you a


chance to reconsider actions that may have undesirable consequences.
Each prompt is turned on with 1 and off with 0. (The initial default is
1,1,1,1,0,0,0.)
df ep=a,b,c,d,e,/,g Format of the EP setting, where:
a controls the message "Do you want to erase? Y/N" when you issue a
DELETE command.
b controls the message "Print defined block? (Y/N)" when you issue one
of the PRINT commands while you have defined text on the current
screen.
c controls the message "Print directory? (Y/N)" when you issue one of the
PRINT commands when you have a directory displayed and the cursor is
on the command line rather than on a file name.

21
Default Settings (cont'd)

d controls the message "File modified, abort anyway? (Y/N)" when you
issue the ABORT command after you have modified the displayed file.
e controls the message "OK to save? (Y/N)" when you use [ctii]S to save
from the keyboard or when you use the function call SA.
f controls the message "Delete command marker? (Y/N)" when you
attempt to delete a formatting marker.
g controls the message "Screen/printer font mismatch" when you are in
graphic view and the screen representation of the fonts is different from
what will print.
df ep=O This setting turns off all prompts.

DF ES Enable Scoping — Specifies the boundaries, or scope, of formatting


commands. (The initial default is 0.)
df es=0 Applies formatting commands to text from the current cursor
position to the end of the document or until it is overridden.
df es=1 Paragraph Forward. Formatting commands take effect at the
beginning of the current paragraph, and override any other occurrences of
the command within the paragraph. The new command remains in effect
until the end of the document or until it is overridden by another
occurrence of the same command in a subsequent paragraph.
df es=2 Previous Command Forward. When you issue a formatting
command, XyWrite searches back through the file for another occurrence
of the command. If it finds one, it changes the command to the new value;
if it does not find a previous occurrence of the command, it inserts the
new command at the current cursor location.

DF ED European Punctuation — Defines the way XyWrite punctuates numbers


for doing calculations. It also controls the argument separators used to
issue XyWrite commands and the time separator. This setting does not
affect decimal tabs. (The initial default is.,:,;)
df eu=dstag Format of the EU setting, where d (decimal point) defines the
decimal point character; s (separator) defines the character inserted
between 3-digit groups in numbers of one thousand or more (for example,
the commas in 1,000,000); t (time) defines the character used to separate
hours from minutes in all XyWrite-produced time displays; a (argument)
defines the character you want to use to separate command arguments;
and g (group) defines the character you want to use to separate groups of
command arguments.
df eu=,.: i; Example of the EU setting.
Notes:
• The EU default setting does not use commas between arguments.

22
(cont'd) Default Settings

• The argument and argument group separators are designed for


international versions of XyWrite. They are not implemented in the
U.S. version.
• You must specify unique characters for the decimal point, argument,
and group separators.

DF FF Form Feed Character — Enables XyWrite to insert a form feed character at


the end of each page. For more information on this setting, refer to the
section on "Printer Files" elsewhere in this manual.

DF FU Footnote Unit — Defines the width of undisplayed footnote symbols or


references. (The initial default is 3,5.)
df fu=/,r Format of the FU setting, where/is the width being allotted for
footnote symbols and r is the width being allotted for cross-references.
df fu=3,7 Example of the FU setting.

DF FX Field Separator — Specifies the character or string you want to use to


separate fields in a data file. (The initial default is a tab character.)
df fx=/ Format of the FX setting, where/is the character or string you want
to use as a field separator.
df fx=A Example of the FX setting.

DF FZ File Date — Modifies the way the date is displayed in a directory. (The
initial default is m-d-yy, for month, day, year.) The format choices are the
same as those available for the DA command. For more information on
the different settings, refer to the DZ setting above.

DF GA Graphics Adapter — Defines the type of graphics adapter you are using,
df ga=md Indicates a monochrome adapter is in use; there is no graphics
support.
df ga=cg Indicates a CG A adapter is in use. A CGA adapter normally
displays monochrome graphics with a screen resolution of 640x200.
df ga=hg Indicates a Hercules Graphics adapter is in use. A Hercules
Graphics adapter displays monochrome graphics with a screen resolution
of 720x348.
dfga=eg Indicates an EGA adapter is in use. EGA supports color or
monochrome graphics with a screen resolution of 640x350.
dfga=vg Indicates a VGA adapter is in use. VGA supports color or
monochrome graphics with a screen resolution of 640x480.

23
Default Settings (cont'd)

DF GP Graphics Path — Defines the location of the graphic files. XyWrite uses
this information to create the list box in the Import Graphic dialog box.
(The initial default is C:\XY4\P1CTURES.)
df gp=d:\pnth Format of the GP setting, where d: is the drive that contains
graphic files and \path is the subdirectory.
df gp=d:\xy4\plcture Example of the GP setting.

DF HI Header Items — Specifies the categories of information you want


displayed when you issue the DIR/SU command. The default is %f au
%d cm (filename, author, date last saved, comments).
df hl=/l f2 ... Format of the HI setting, where fl, f2 ... are the
information field mnemonics, spaced as you want them to appear in the
directory. Available fields are:
%f Filename (should always be the first field)
%s File size
%d Date the file was last saved
%t Time the file was last saved
%p Path of the file
au Author (person who created the file)
lg Logon of the person who last modified the file,
cd Date the file was created.
cm Comments stored with the file,
rv Revision number of the file,
kv Keywords in the file,
rp Retention period of the file,
pj Project number of the file.
df hl=%f au rv cd cm Example of HI setting.
See the description of the HT default setting for information about adding
titles to the directory display.

DF HT Header Title — Specifies the titles of the Document Info directory display.
The default setting is: Filename Author Saved Comment.
df ht=fl t2... Format of the HT setting, where tl t2... are the titles,
spaced as you want them to appear in the directory.
df ht=File Author Rev Creation Date Comments Example of HT
setting.

DF HV Hyphenation Values — Specifies the minimum size of words to be


hyphenated and the fewest number of characters allowed before and after
a hyphen. (The initial default is 6,3,3.)
df hv=nl,n2,„3 Format of the HV setting, where nl is the minimum
number of characters in a hyphenated word, n2 is the minimum number
(confd) Default Settings

of characters that can appear before a hyphen, and n3 is the minimum


number of characters that can appear after the hyphen.
df hv=5,2,3 Example of the HV setting.

DF IM Image Mode Printing — Specifies whether image mode printing is on or


off. In image mode, the printer rasterizes text and outputs it as images,
producing a higher print quality. (The initial default is 0.)
df im=0 Turns off image mode printing.
df lm=1 Turns on image mode printing for printers that support it.
(Because of its impact on speed, this setting is not recommended for laser
printers.)

DF IO Information On/Off — Specifies whether the Document Info feature is on


or off. (The initial default is 1.)
df lo=0 Turns off the Document Info feature.
df lo=1 Turns on the Document Info feature.
df lo=2 Displays the Document Info dialog box when you store a file
: without first completing the comments section of Document Info.
X

DF IT Insert Cursor Type — Defines cursor values, which are passed to the
: BIOS interrupt routine. This setting is required only on certain types of
; hardware, and is established during installation.
df lt=a,bx,d,e,f,g,h Format of the IT setting, where:
a-c define cursor values for the current EGA mode (25-line or 43-line).
! Within these three arguments, a defines the cursor for insert mode; b
i defines the cursor for overstrike mode; and c, which is always 8193,
defines the cursor off mode.
d-f define the cursor values for the alternate EGA mode, in the same order
described above.
• g defines the cursor value for DOS.
h is always 1, which is the value used when EGA emulation is off.

The following examples are based on 25-line EGA mode. If you are in 43-
line EGA mode, reverse the order of the current and alternate values.
df lt=519,1543,8193,264,1792,8193,1543,1 Sets cursor values fora color
monitor with an EGA card.
df lt=1037,3085,8193,264,1543,8193,0,1 Sets cursor values for a Hewlett
Packard Vectra RS/20 with an HP VGA card.
df lt=1037,1543,8193,264,1543,8193,1037,1 Sets cursor values for an IBM
XT/286 with an IBM EGA card.
25
DF IU Information Menu — Tells XyWrite to store a file after the Document Info
dialog box has been completed. (The initial default is 1.)
df lu=O Return to the displayed document after clearing the Document
Info dialog box.
df lu=1 Store the displayed file after completing the Document Info dialog
box.

DF JB Job Begin — Sends the specified printer codes to the printer at the
beginning of every document. The printer codes are defined in the PC
(Printer Control) table in the printer file. Refer to "Printer Files" for more
information about PC tables.
df Jb=#,#,#... Format of the JB setting, where # is the number of a printer
code in the PC table.
df ]b=170 Example of the JB setting.

DF KC Key Click — Enables XyWrite to generate an audible click at every press


of a key. The speed of the hardware affects the duration of the click, so if
you have a faster machine you should increase the duration setting
accordingly. We recommend multiplying the duration by 4 on 386
machines. (The initial default is 0,0, which turns the key click off.)
df kc=f,d Format of the KC setting, where f defines the tone of the beep
and d defines the duration of the click. Both are numbers between 0 and
65534.
df kc=256,2048 Example of KC setting.

DF KS Keyboard Speed — Adjusts the repeat rate of the keyboard. Repeat rate
refers to the length of time a key must be pressed before it starts to repeat
and the speed with which it repeats. (The initial default is 0,1.)
df ks=s,/ Format of the KS setting, where s is a number between 0 and 31
that indicates the repeat rate (0 is the fastest; 31 is the slowest); and I is a
number between 0 and 3 that indicates the lag time (0 is the shortest; 3 is
the longest).
dfks=10,1 Example of the KS setting.

DF LO Action Bar Color Control — Specifies the colors of the various items in the
action bar.
df lO=iJi,a,b Format of the L0 setting, where i sets the color for items in the
action bar; h sets the color for highlighted action bar items; a sets the color
for the accelerator character in each action bar item; and b sets the
background color of the action bar.
df 10=117,125,116,117 Example of the L0 setting.

26
(cont'd) Default Settings

DF Ll Command Line Color Control — Specifies the colors of various items in


the command line.
df I1=c,f,zo,/ Format of the Ll setting, where c sets the color for the current
path; t sets the color for the text you type in the command line; w sets the
color for any wild cards you used in command strings; and/sets the color
for the function calls you include in your XPL programs.
df 11=87,92,101,84 Example of the Ll setting.

DF L2 Status Line Color Control —Specifies the colors of messages and other
information displayed on the status line.
df I2=l,m,b,o,s Format of the L2 setting, where I sets the color for field
labels and indicators; m sets the color for the standard messages and
prompts that XyWrite displays; b sets the color for the background and the
contents of fields, such as current filename, page number, etc.; o is the
color for messages that require a user response; and s sets the color for
warning messages.
df 12=93,87,95,93,84 Example of the L2 setting.

DF L3 Ruler Line Color Control — Specifies the colors of various items on the
ruler line.
df I3=d,c,»i,f Format of the L3 setting, where d sets the color for the dots
and numbers in the ruler line; c sets the color of the cursor location on the
ruler line; m sets the color of the tab indicators in the rider line; and t sets
the color of the dot or marker that indicates the active column in a table.
df 13=93,125,86,205 Example of the L3 setting.

DF L4 Pull-Down Menu Colors — Defines the colors of the pull-down menus.


(The initial default is 15,112,112,7,112.)
df \4=i,lt,a,d,l Format of the L4 setting, where i is the color of available
items in the pull-down menu; h is the color of the highlighted item; a is the
color of the accelerator character; d is the color of the dimmed (or
unavailable) items in the menu; and / is the color of highlighted items in
the list box.
df 14=117,125,116,120,112 Example of L4 setting.

DF LC Line-End Character — Specifies the character to be displayed as a carriage


return (hard return). (The initial value is «-.)
df lc=c Format of the LC setting, where c is any character.
df lc=+ Example of the LC setting.
Default Settings (cont'd)

DF LH Low-High — Specifies the size and baseline for superscript and subscript
characters in the Bitstream Speedo fonts. This setting has no effect on
printer fonts (i.e., built-in fonts, soft fonts, or cartridge fonts).
df Ih=s,w,d Format of the LH setting, where s is the percentage of text size
to be used for subscript and superscript characters and u and d determine
the baseline for superscript and subscript characters, respectively. The u
and d values are percentages of s that define how much you want to move
the baseline up or down.
df lh=75,45,25 Example of the LH setting. For this example, if the text is
set in 12-point type, then the superscript and subscript characters will be
in 9-point type (75% of 12-point). Superscript text will be set 4.09 points
(45% of 9 point) up from the baseline and subscript text will be set 2.25
points (25% of 9 point) below the baseline.

DF LZ Format Redlining Date — Defines the way the date is displayed in


Redlining logon strings. (The initial default is MM/DD.)
df lz=date Format of the LZ setting, where date is the month and day and
anv punctuation you want XyWrite to use when Redlining changes are
made. Refer to the DZ setting above for information on available formats,
df lz=DD-MM Example of the LZ setting.

DF MA Find Match —Defines the number of characters that XyWrite uses to find
a match when comparing two files. The number may not be less than 2.
(The initial default is 40.)
df ma=»i Format of the MA setting, where n is the number of characters to
base a match on.
df ma=10 Example of MA setting.

DF MF Mode for Forms — Defines the mode you want to use for creating the
blank fill-in areas in forms. (The initial default is NM.)
df mf=m Format of the MF setting, where m is the mode you want to use
for the blank fill-in areas in forms.
df mf=ul Example of the MF setting.

DF MG Message — Displays a message on the status line that is overwritten only


by system messages. The default message is restored after the system
message clears.
df mg=me$sage Format of the MG setting, where message is any message
you want displayed on the status line as a default.
df mg=Have a Nice Dayl Example of the MG setting.
(cont'd) Default Settings

Notes:
• When specifying a default message from the command line, you must
use the /NV switch; otherwise XyWrite will not recognize any spaces
you type in the message prompt.
• When a default message is displayed, you cannot see the descriptions
of the command markers that normally appear on the status line when
you put the cursor on a marker.

DF MR Metric Ruler — Specifies the spacing of the ruler markers. (The initial
default is 10.)
df mr=10 Establishes lOths of an inch as the spacing of the ruler markers,
df mr=4 Establishes centimeters as the spacing of the ruler markers.

DF MT Military Time — Modifies the way time is displayed by the SEC, TM, and
NOW commands. (The initial default is 0.)
df mt=0 Displays time in AM/PM format (for example, 10:30).
df mt=1 Displays time in 24-hour format (for example, 22:30).

DF MW Maximize Windows — Specifies how window border and scroll bars are
displayed. (The initial default is 1.)
df mw=0 Uses the maximum screen size for all windows, which means
there is no border (or scroll bar) displayed.
df mw=1 Displays a one-unit-wide border around all windows; when a
file is displayed, the right and bottom borders are scroll bars. When
MW=1, the usable text area is 78 by 20 (rather than 80 by 22).
df mw=2 Staggers the borders of windows, so each window you open is
displayed one unit in and 1 unit down from the previous window. As
with MW=1, the right and bottom borders are scroll bars when a file is
displayed. The usable text area varies, depending on the order in which
the window was opened.
df mw=4 Remembers the size of each window, and uses that size the next
time you open the window.
You can add two or more values to apply more than one effect to
windows. For example, DF MW=5 displays a one-unit-wide border
around all windows, and also remembers the size of windows.

29
Default Settings (cont'd)

DF NC Normal Carriage Return — Defines whether XyWrite sends the carriage


return to the printer in normal mode or in the current mode. (The initial
default is 1.)
df nc=l XyWrite puts out carriage returns in normal mode (MD NM).
df nc=O XyWrite puts out carriage returns in the mode that is in effect at
the end of the line.

DF ND Network Drives — Specifies the drives that are shared by network users.
XyWrite applies file locking to these drives, so that the same file cannot be
opened for editing by more than one person at a time.
df nd=dl,d2,d3,d4,d5.. .d26 Format of the ND setting.
df nd=f,x Example of the ND setting.

DF NE No Errors from Printer— Defines whether XyWrite checks for printer


status. (The initial default value is 0.)
df ne=0 Checks printer status and displays an error message if the printer
returns an error.
df ne=1 Does not check printer status except to verify that the printer is
ready (on-line).

DF NL Network Login — Defines the location of login files. The login location is
established for both stand-alone and LAN environments.
df nl=d: \path Format of the NL setting, where d: is the drive and \path \ is
the subdirectory that contains the login files.
df nl=x:\)ogln Example of the NL setting.

DF NW New Window — Enables XyWrite to open a new window when needed.


(The initial default is 3.)
df nw=0 Disables automatic windows. You must open and close windows
manually.
df nw=1 Enables the automatic opening and closing of windows. XyWrite
opens a new window every time you execute a command that requires
one (e.g., NEW or CALL with a file on-screen) and closes the window
whenever you issue an ABORT command. You can display a directory,
call a file, look it over, abort it, and then return to the directory to call up
another file; XyWrite automatically opens a new window when necessary
and keeps the directory in an old window.
df nw=2 Same as NW=1 except XyWrite does not automatically close the
current window when you execute ABORT.
df nw=3 Same as NW=1 except when you call a file with the directory
displayed, the file replaces the directory.
30
(cont'd) Default Settings

DF 01 Options — Specifies how XyWrite performs error correction for


differences between screen and printer fonts. (The initial default is 0.)
df o1=0 Performs error correction between words.
df o1=1 Performs emor correction between characters. (This setting
improves the display of boxes created with the BOX command.)

DF OB Overstrike Beep — Defines the tone and duration of the beep you hear
whenever you overstrike a character. The speed of the hardware will affect
the duration of the beep so if you have a faster machine you should
increase the duration setting accordingly. We recommend multiplying the
duration by 4 on 386 machines. The initial setting is 0,0 which turns the
overstrike beep off.
df ob=t,d Format of the OB setting, where f defines the tone of the beep
and d defines the duration of the beep. Both are numbers between 0 and
65534.
df ob=756,10000 Example of OB setting.

DF OD Offset Display - Determines whether XyWrites hides or shows the offset


(specified by the OF command) in formatted view. Also controls how the
offset is displayed in graphic view. (The initial default is 0.)
df od=0 Hide the offset.
df od=1 Show the offset.
df od=4 Show offset as a gray screen in graphic view (if not set, the offset
appears in the same background as the text).

DF OE Open Editor — On a LAN, defines whether you want XyWrite to leave


EDITOR.EXE open or closed after reading it. When EDITOR.EXE is open,
performance is faster. However, on some networks, users may encounter
sharing violations when it is left open. (The initial default is 0.)
df oe=0 Closes EDITOR.EXE after reading it.
df oe=1 Leaves EDITOR.EXE open after reading it.

DF OL Outline Fonts — Specifies the location of the outline fonts. (The initial
default is C:\BTFONTS\.)
df o\=d:\palh\ Format of the OL setting, where d: is the drive and \path\
is the subdirectory that contains the outline fonts. (Note that the closing
backslash is required.)
df ol=d:\btfonts\ Example of the OL setting.

31
Default Settings (cont'd)

DF P. Truncated Path Name — Adjusts the length of the path name XyWrite
displays on the status line, from 1 to 14 characters. (The initial default is
14.)
df p.=» Format of the P. setting, where n is the number of characters of the
current directory name that you want XyWrite to display on the status
line.
df p.=5 Example of the P. setting.

DF PD Pad Spaces — Works in conjunction with Unear cursor keys, which let you
move the cursor off to the right of a line of text and begin to enter new
text. PD (Pad Spaces) determines whether spaces are added to fill the gap
to the left of the cursor. To illustrate, imagine the following: You move
the cursor to the right (enabled by Linear Right in the keyboard file), past
the end of a Une of text (past the line-end arrow). You then begin typing.
If PD=1, the text is inserted exactly where the cursor is located, and the
gap between the line-end arrow and the new text is filled in with spaces.
If PD=0, the cursor jumps left to the line-end arrow and the text is inserted
adjacent to the existing text. (The initial default is 0.)
df pd=0 Text will be inserted at the left of the line-end arrow.
df pd=1 Spaces will be inserted to fill the gap between line-end arrow and
cursor position.

DF PK Page Break Color — Specifies the color that is used for page breaks. (The
initial default is 7.)
df pk=n Format of the PK setting, where n is the number of the display
mode for the page break.
df pk=9 Example of the PK setting.

DF PX Page Break Character — Specifies the character that is displayed for page
breaks. (The initial default is 196, which produces —.)
df px=n Format of the PX setting, where n is the number of the XyWrite
character you want displayed for page breaks,
df px=95 Example of the PX setting.

DF R2 Mouse Double Click — Sets the time interval for a double click. The time
is measured in 1/20 of a second. (The initial default is 8.)
df r2=« Format of the R2 setting, where n is the time interval.
df r2=5 Example of the R2 setting.

32
(cont'd) Default Settings

DF RB Reverse Buttons — Reverses the assignment of the mouse functions from


the left to the right button and vice versa. (The initial default is 0.)
df rb=O Assigns right-hand operation.
df rb=1 Assigns left-hand operation.

DF RD Redline Data — Defines the display of the redline tags that identify who
made an edit and when it was made. (The initial default is 1,14,9,0,249.)
df rd=o,n,«i,p,c Format of the RD setting, where o turns the data capture on
i or off (0 for off or 1 for on); h is the number of captured characters
displayed in the text area; m is the display mode number for the captured
r
information; p turns a prompt line display of the captured data on and off
(0 for off, 1 for on); and c is the character that separates the captured data
! from the text.
t
’t
df rd=1,9,7,1,249 Example of the RD setting.
t
4
l
I
DF RI Mouse Repetition Interval — Adjusts the rate the document scrolls when
i
using the mouse in scroll bars and when selecting text with the drag
method. (The initial default is 5.)
df ri=s Format of the RI setting, where s is the scroll speed, measured in
1/20 of a second.
df rl=7 Example of the RI setting.

i DF RL Ruler Markers — Specifies the characters shown on the third line of the
i display — the ruler. (The initial default ► H»-).
df r\-abcdefghijk Format of the RL setting, where a is the Tab marker for
Flush Left Tabs (TS 1); b is the Tab marker for Flush Right Tabs (TS 1R); c
is the Tab marker for Flush Center Tabs (TS 1C); d is the Tab marker for
Decimal Tabs (TS ID); e is the marker for the first Indent Paragraph value;
/ is the marker for the second Indent Paragraph value; and g is the marker
for the position of the cursor column (g cannot be changed — it is always
character 176); h is the left margin marker (established by the LM
i command); i is the right margin marker (established by the RM
command); j is the column marker for every 5th column; and k is the
standard column marker. You can substitute any characters for a ruler
marker (except for g). If you choose to use a ruler symbol other than the
original XyWrite setting, be sure to follow this exact order to replace the
correct one.
df rl=.lrcd Example of RL setting.

33
Default Settings (cont'd)
I

DF RN Round Off Numbers — Specifies the way XyWrite handles fractional line
numbers in the header. (The initial default is 0.)
df rn=0 Causes XyWrite to display the actual line number values when
you are in draft view with page breaks on.
df rn=1 Causes XyWrite to round off line number values in the header to
the nearest half (for example, 1-5.86 would become 1-6, while 1-5.3 would
become 1-5.5).

DF RS Record Separator — Specifies the character or string you want to use to


separate records in a data file. (The initial default is a carriage return/line
feed combination.)
df rs=r Format of the RS setting, where r is the character or string you
want to use as a record separator. If you want to use a carriage
retum/line feed as part of the record separator, you must enter it as
ICvil |ajs| 13 iCtril |Ajt| 10. XyWrite enters it like this: J’S.
df ra=JE/E Example of the RS setting.

DF RX Ratio for X Direction — Sets the mouse-to-pixel ratio for horizontal


mouse movement. (The initial default is 15.)
df rx=u Format of the RX setting, where n is a number from 1 to 32767. The
higher the number, the less the cursor moves.
df rx=25 Example of the RX setting.

DF RY Ratio for Y Direction — Sets the mouse-to-pixel ratio for vertical mouse
movement. (The initial default is 15.)
df ry=n Format of the RY setting, where n is a number from 1 to 32767. The
higher the number, the less the cursor moves.
df ry=25 Example of the RY setting.

DF RZ Record Size — Defines the maximum number of characters that XyWrite


recognizes when sorting data file records. The initial default is 3500.
df rz=n Format of the RZ setting, where n is the number of characters
you want in a record.
df rz=5OOO Example of the RZ setting.

DF SG Text Macro — Assigns a string of text or numbers to a text macro key.


df ag=u,string Format of the SG setting, where n is any text macro (A-Z or
000-999) and string is the text or numbers you want to save to the text
macro.
df sg=999,yes Example of the SG setting.

34
(cont'd) Default Settings

Note: When assigning a text macro from the command line, you must use
the /NV switch; otherwise, XyWrite will not recognize any spaces you
type in the message prompt.

DF SI Screen Resolution — Specifies the screen resolution in pixels per inch.


(We recommend 96,72 for EGA and HGA; 96,96 for VGA; and 96,48 for
CGA.)
df sl=/i,u Format of the SI setting, where h defines the horizontal screen
resolution in pixels per inch and v defines the vertical screen resolution in
pixels per inch.
df si=96,72 Example of the SI setting.

DF SK Sort Key — Defines the sorting rules, used by the SORT command,
including the number of characters used in the sort. (The initial default is
1,80.)
df sk=»l,n2 Format of the SK setting, where nl is one, or a combination of,
the following numbers:
0 Sorts numbers by first digit (01,10,2, 3)
1 Sorts numbers in decimal order (01, 2, 3,10)
2 Sorts entries in reverse order (Z to A, 9 to 0)
4 Deletes duplicate entries.
n2 is the number of characters to be used for sorting.
dfsk=1,4O Example of the SK setting.

DF SL Screen Length — Defines how many lines to display on a terminal that


has more than the standard 25 lines. Of the number you choose, the first
three lines will belong to the header and the remainder will be the text
area. The SL setting should not be used with any of the standard 25-line
displays. If you are using an EGA adapter, refer to the EG command. (The
initial default is 25.)
df sl=n Format of SL setting, where n is the number of screen lines.
df sl=44 Example of the SL setting.

DF SM Show Menus — Defines the way the action bar behaves. (The initial
default is 1.)
df sm=0 Causes the action bar to disappear after you make a choice from a
pull-down menu. The action bar will not reappear until you press [Fiol.
df sm=1 Causes the action bar to remain at all times unless you press [fs] to
access the command line. The action bar will reappear when you press
[go].

35
Default Settings (cont'd)

DF SO Sort Setting — Defines the field or section of the field that you want
XyWrite to use for sorting a data file with the SORTD command,

df so-fieldl,field2.. .ficldn Format of the SO setting, where fieldl, field!..


ficldn are made up of one or more of the following parameters:

F# Field number (Fl, F2,


W# Word within field (W1 is the first word; W2 is the second word,
etc.) A negative number means count from the back of the field.
(The default value is the entire field.)
LW Length of field, or number of characters to use in the sort. (The
default value is 20.)
N Sort numbers in numerical order, e.g„ 1,2,5,10, 20,100. (The
default is to sort numbers by first digit, e.g., 1,10,100,2,20,5.)
R Reverse the sorting order.

df so=f1w3l5nr Example of the SO setting.

DF SQ Sequential Page Numbering — Defines the way the PRINT,n-b command


counts pages as it prepares to send them to the printer. (The initial default
is 0.)
df sq=0 Enables the PRINT command to honor the printed page number.
Thus, print chapter,5 would print the page which has page number 5
printed on it. This is the number the Page-Page Depth indicator shows.
df sq=1 Sets the PRINT command to refer to the pages sequentially,
starting at the beginning of the file. This setting disregards the printed
page numbers (which can be changed with the Set Page Number
command). Thus, print chapter,5 would print the fifth page in the file,
regardless of its printed page number.

DF ST Show Tab — Specifies how tabs are displayed on the screen. (The initial
default is 1.)
df st=O Causes the tabs to appear on the screen as spaces.
df st=1 Causes the tab character (0) to appear on the screen in expanded
view; tabs appear as spaces in all other views.
df st=2 Causes the tabs to appear as a right arrow (->) in draft views and as
a space in expanded and graphic view.
df st=3 Causes the tabs to appear as 0 in expanded view and ■* in draft
view.

36
(cont'd) Default Settings

DF SW Screen Width — Defines how many "columns" (or characters) you want
to display on a monitor that has a wide screen mode (one that lets you
display up to 132 columns on the screen). If your monitor supports a wide
screen mode, you must set it up in DOS before starting XyWrite. (Refer to
the documentation supplied with your computer for information on how
to do this.) Once in XyWrite, set SW to match the DOS setting.
df sw=n Format of the SW setting, where n is the number of columns wide
you want your screen to be. This number must match the DOS setting.
(Standard columns are 40,80,120, and 132.)
df sw=132 Example of the SW setting.

Note: Wide screen mode has no effect on graphic view.

DF TB Tab Character Control — Defines how tabs will print: either as a tab
character or as spaces. (The initial default is 0.)
df tb=O Causes XyWrite to convert every tab to equivalent spaces on
output to the printer.
df tb=1 Causes XyWrite to send tabs in the file to the printer as the tab
character (0), ASCII 9. This setting is valuable for printing to disk
(PRINTF) when you want to retain tab characters. Use this setting when
you want to produce a file (with PRINTF) that keeps its tabs (rather than
converts them to spaces).

DF TF Ignore Top Margin — Defines how XyWrite interprets the top margin
(TP) embedded command. (The initial default is 0.)
df tf=O Causes XyWrite to honor the top margin (TP) command.
df tf=1 Causes XyWrite to ignore the top margin (TP) command. You
would use this if the top margin has been set by hand and the file contains
a TP command that you want to override.

DF UH Unit Horizontal — Defines the default horizontal unit of measure for


input and display. (The initial default is IN,IN).
df uh=entryunit,displayunit Format of the UH setting, where entryunit is the
size of one default horizontal entry unit (the unit of measure you use to
enter arguments) and displayunit is the size of one default horizontal
display unit (the unit of measure you want XyWrite to display). Valid
units are in (inches), di (tenths of an inch), pi (picas), pt (points), cm
(centimeters), mm (millimeters), dd (didots), and ci (dceros). We
recommend that you use the same value for entryunit and displayunit.
df uh=dl.dlCT Example of the UH setting.

37
Default Settings (cont'd)

DF UL Underline Setting — Specifies how tabs and spaces are underlined within
text that is underlined with MD UL. (The initial default is 1.)
df ul=O Underline everything.
df ul=1 Underline everything but tabs.
df ul=2 Underline everything but tabs and spaces.
df ul=3 Underline only letters and numbers.

DF UM Unhide Modes — Turns the display of mode markers on and off. (The
initial default is 0.)
df um=0 Does not display markers for mode commands.
df um=1 Displays markers for mode commands.

DF UN Untitled File — Specifies whether XyWrite opens an untitled file when


you close the last file. UN works in conjunction with the NW (New
Window) setting. (The initial default is 0.)
df un=0 Does not automatically create an untitled file.
df un=1 Automatically creates an untitled file in the last open window
when DF NW=3.

DF UR Use Pointer — Turns the mouse pointer on and off.


df ur=0 XyWrite does not recognize mouse movement.
df ur=1 XyWrite recognizes mouse movement.

DF UV Unit Vertical — Defines the default vertical unit of measure for input and
display. (The initial default is IN,IN.)
df uv=entryunit,displayunit Format of the UV setting, where entryunit is the
size of one default vertical entry unit (the unit of measure you use to enter
arguments) and displayunit is the size of one default vertical display unit
(the unit of measure you want XyWrite to display). Valid units are in
(inches), di (tenths of an inch), pi (picas), pt (points), cm (centimeters), mm
(millimeters), dd (didots), d (aceros), and li (lines). We recommend that
you use the same value for entryunit and displayunit.
df uv=li,ll Example of the UV setting.

DF VF Variable Forms — Enables you to extend a form field into more than one
line. (The initial default is 0.)
df vf=O Does not extend the form field. Pressing 0 moves the cursor to the
next field.
df vf=1 Extends the form field so you can enter multiple lines.

38
(cont'd) Default Settings

DF WA Error Message Wait Time — Defines how long an error message will
display before it is replaced by another message. (The initial default is 18.)
df wa=f Format of the WA setting, where t is the minimum length of time
the message will display. A value of 18 is 1 second; 36 is 2 seconds, etc.
Note: WA also affects the speed at which programs execute when DB is
active.

DF WB Window Border Characters — Defines the characters that are used for the
borders of the windows.
df wb=abcdefghijklmn Format of the WB setting, where a is the character in
the upper left comer; b is the character in the upper right comer; c is the
character on the horizontal sides; d is the character in lower left comer, e is
the character in the lower right comer;/is the character on the vertical
sides; g and h are the up and down indicators on the vertical scroll bars; i
and j are the right and left indicators on the horizontal scroll bars; k and in
are the characters in the vertical and horizontal scroll bars, respectively;
and 1 and n are the characters in the vertical and horizontal slider box.
df Wb=r Example of the WB setting.

DF WF Wrap to Fit - Specifies the way line endings are displayed in draft view and
expanded view. This setting has no effect on formatted or graphic view.
The initial default is 1.
df wf=0 In draft view, displays line endings according to the format you
have established.
df wf=1 In draft view and in expanded view, displays text within the
current window borders. Hyphenation is not applied. You do not have to
scroll horizontally to view text.

DF WO Word Overstrike Editing — Defines the overstrike typing mode for text
entry. (The initial default is 0.)
df wo=0 Causes text entered at the cursor to overwrite text characters and
word separators except carriage returns.
df wo=1 Causes text entered at the cursor to overwrite all text and word
separators except the space, tab, and carriage return characters.
df wo=2 Causes text entered at the cursor to overwrite text characters but
not word separators.

39
Default Settings (cont'd)

DF WS Whole-Space Justification — Specifies whole-space or microspace


justification. (The initial default is 0.)
df ws=0 When you specify justification (with JU), causes XyWrite to justify
text using partial spaces — what we call "microjustification." The spaces
are inserted between characters and words.
df W8=1 When you specify justification (with JU), causes XyWrite to justify
text by adding whole spaces between words (rather than using partial
spaces) and no space within words. Whole-space justification is much
faster than microjustification on some printers, and may be preferred in
those cases.

DF WW Conversion Filters Path — Specifies the location of the document


conversion filters. The initial default is C:\XY4\FILTERS\.
df ww=d: \ path \ Format of the WW setting, where d: is the drive and
I path \ is the subdirectory that contains the filters. (Note that the closing
backslash is required.)
df ww=d:\xy4\filters\ Example of the WW setting.

DF XD Read-Only Directories — Specifies whether directories are read-only or


read/write. (The initial default is 1.)
df xd=0 Makes directories read/write.
df xd=1 Makes directories read-only and highlights the line that the cursor
is on. T
I IIf

DF XF Extract Fields — Defines the fields that you want the SORTD command to
extract from the data file and output to the sorted file.
df xf=fl,f2... Format of the XF setting, whereare the fields you want
to extract.
df xf=f1 ,f3 Example of the XF setting.

DF XL Selective Directory — Enables the selective directory feature of XyWrite.


A selective directory is one that lists only files that match certain criteria.
These criteria, which are based on the summary information maintained
by Document Info, are defined in the XL setting. You display the selective
directory by adding the /SL switch to the DIR command (for example,
type: [Fsfdir/sl \xy4M).

df xl^expression Format of the XL setting, where expression defines the


criteria you want XyWrite to use when selecting files for a selective
directory. Refer to "User Programming" for information on building
expressions, such as a list of available operators.
fl! il=<< Ya‘au” ==Cruth") Example of the XL setting.
(cont'd) Default Settings

DF XM Transpose Messages — Specifies the order in which XyWrite displays


Page-Depth Number, Filename, and Time indicators on the status line.
(The initial default is *PL *Fl *TI.)
df xm=inl in2 in3 Format of the XM setting, where ini in2 in3 are the
following indicator mnemonics, separated by a space, in the order you
want them to appear on the status line:
*PL Page-line number
*FI Filename
*T1 Time
df xm=‘PL *FI Example of the XM setting.

DF XR Extract Records — Specifies the records you want SORTD to extract,


df xr=fnop"variable" Format of the XR setting, where fn is the field
number; op is the symbol for the condition you are testing for; and
"variable" is what you are comparing the field against. "Variable" must be
enclosed in double quotation marks as shown.
df xr=f8=="O1824” Example of the XR setting.

DFXT Expand Triangles — Defines whether XyWrite displays an abbreviated or


expanded explanation of the marker under the cursor. (The initial default
is 1.)
df xt=O Causes XyWrite to display only the command and its value on the
status line (for example, LM1).
df xt=1 Causes XyWrite to display an explanation of the command as well
as its value (for example, Left Margin 1). (Menus must be loaded for this
setting to work.)

DF XY XyWrite Screen Fonts — Defines the location of the file SCRFONTS.BIN.


The initial default is C:\BTFONTS.
df xy=d:\path\ Format of the XY setting, where d: is the drive and \path\ is
the subdirectory that contains the screen fonts. (Note that the closing
backslash is required.)
df xy=d:\btfonts\ Example of the XY setting.
Note: If you run other application programs that use BITSTREAM screen
fonts, the fonts must reside in the BTFONTS directory off the root
directory.

41
Default Settings (cont'd)

DF ZM Zoom - Enlarges or reduces graphic view by the amount you specify. The
default is 75, which means that the full width of a standard 8.5-inch page
is displayed in graphic view.
df zm=w Format of the ZM setting, where n is the percentage (from S-400)
that you want to enlarge or reduce the display in graphic view. If you
specify 100, the text and graphics will be displayed in approximately the
same size that they will be printed.
df zm=85 Example of the ZM setting.

DF ZS Point Sizes — Defines the point sizes that are displayed in the menus for
scalable fonts. (The initial default is 8, 9,10,12,14,18,24, 36,48, 72, 96,
144.)
df zs=sizel,size2,... Format of the ZS setting, where sizel,size2,... is a list
of the point sizes you want displayed in the point size menu for scalable
fonts.
df zs=10,12,14 Example of the ZS setting.

42
Display Mode Colors

Intro Color settings are another customizable feature of XyWrite. They


constitute the second major category of information in SETTINGS.DFL.

43
Display Mode Colors MD

FORMAT MD hh=#
mh is a two-letter mode command or a number from 0-255
• is a number from the color table (see Notes #5 and #6),
MENU ES3S3EE53EH3

PURPOSE MO (Mode) commands define the color associated with each display
mode in draft view. XyWrite provides recommended display values for
the following types of monitors:
• Color (COLOR.DSP)
• Monochrome (MONO.DSP)
• Gas plasma (GAS.DSP)
• Gray-scale (G-SCALE.DSP)
• LCD (LCD.DSP)
When you install XyWrite, you are asked what type of monitor your
system has. The display values for your monitor are merged from the
separate display file into SETTINGS.DFL.

You use the MD command only when you want to change a color from
the default value. You can change the values in SETTINGS.DFL or create
a custom color file that you load separately.

ACTION Creating a Color File


To create a custom color file:

1. Determine what colors you want to use for each mode. To display the
available colors, choose "Color choices" from the Help index. If you
don't have the help file loaded, refer to Notes #5 and #6 for a list of
available colors.

2. Make a copy of the display file that most closely resembles what you
want. For example:
Type: [Fsjcopy color.dsp,custom.dsp0

3. Open the new file you created in step 2.


Type: [Fsjcall custom .dspfTil

4. Search for the display mode you want to change. For example:
Type: [F5]se /md bo/0

5. Immediately after the equals sign, type the number of the new color.

6. Repeat steps 4 and 5 for each display mode you want to change.
(cont'd) Display Mode Colors

7. Store and load the color file. For example:


Type: (F51 store[7i|
Type: [Fsjload custom.dspITJ]

NOTE #1 Startup. You can have your custom color file automatically loaded at
startup by adding a line to your STARTUP.INT file. For example, the
following entry loads a display file named CUSTOM.DSP.
bc load custom.dsp<-
Be sure to add this line after the line that loads SETTINGS.DFL; remember,
SETTINGS.DFL contains color settings and the last set of values loaded is
the one that takes precedence. Refer to "Startup File" for more information
on modifying STARTUP.INT.

NOTE #2 Selected Text. If you change the display colors, you may get unexpected
results when you select a block of text. The DD default setting interacts
with the display modes to produce the color of selected text. You may
need to adjust the value of the DD setting after you load your custom
colors. Refer to "Default Settings" for more information about the DD
setting.

NOTE #3 Mode Numbers. In addition to the display modes defined by two-letter


mode commands (NM, BO, etc.), you can define colors for display modes
0-255. Do not confuse these mode numbers with color numbers; while the
default values are often the same (e.g., MD 15=15), they are not equivalent.

Another important note about mode numbers relates to the way XyWrite
interprets them for graphic view. If you use the embedded MD command
with a mode number to format your document (e.g., MD 113) and then
display the document in graphic view, you will get unexpected results.
That is because XyWrite uses the following formula to determine how
numbered modes appear in graphic view:

1. XyWrite subtracts the mode number from 255. For MD 113, the result
would be 142.

45
Display Mode Colors (cont'd)

2. XyWrite compares the result to the following chart to determine which


bits are set.

Mode Bit
Normal 0
Bold 1
Underline 2
Reverse 4
Superscript 8
Subscript 16
Italic 32
Insert 64
Delete 128

Result: For the current example, the following bits are turned on: 128,8,
4, and 2 (128 + 8 + 4 + 2 = 142). That means that text that is in MD 113
would display in graphic view as struck-through (Delete), superscript,
underline, and reverse.

When you print the document, the numbered modes are printed using the
definition specified in the Print Type (PT) table in the printer file.

NOTE #4 Standard Colors. XyWrite comes with the following display values (for a
color monitor).
MD NM=23 White (dim) on blue
MD BO=31 Bright white on blue
MDUL=19 Cyan on blue
MD BU=27 Light cyan on blue
MD IT=26 Green on blue
MD BI=30 Yellow on blue
MD RV=113 Blue on white
MD SU=87 White (dim) on magenta
MD SD=96 Black on brown
DF DD=16 Define Display setting.

NOTE #5 Monochrome Table. On a monochrome monitor, the following table is in


effect. Add 128 to a number to make it blink. "White on Black” means
white characters on a black background.

0 Black on Black (invisible)


1 White on Black, underlined
2-7 White on Black, not underlined
8 Black on Black (invisible)
9 Bright White on Black, underlined
10-15 Bright White on Black, not underlined
46
(cont'd) Display Mode Colors

112 Black on White


120 Black on White
128 Black on Black (invisible)
129 Flashing White on Black, underlined
131-135 Flashing White on Black, not underlined
136 Black on Black (invisible)
137 Flashing Bright White on Black underlined
138-143 Flashing Bright White on Black not underlined
240 Flashing Black on White
248 Flashing Black on White

The only values that don't display are: 0, 8,128, and 136.

NOTE #6 Color Table. To select a color (for a color monitor), pick one color for the
characters and another color for the background. Add the two numbers
together. Use this number with the MD command. For example, for
bright white characters (15) on a blue background (16), use 31.
Characters (Foreground)
0 Black Characters
1 Blue Characters
2 Green Characters
3 Cyan Characters
4 Red Characters
5 Magenta Characters
6 Brown Characters
7 White (Dim) Characters
8 Gray Characters
9 Light Blue Characters
10 Light Green Characters
11 Light Cyan Characters
12 Light Red Characters
13 Light Magenta Characters
14 Yellow Characters
15 Bright White Characters
Background
0 Black Background
16 Blue Background
32 Green Background
48 Cyan Background
64 Red Background
80 Magenta Background
96 Brown Background
112 White (Dim) Background
128 Blinking Characters, Black Background
144 Blinking Characters, Blue Background
47
Display Mode Colors (cont'd)

160 Blinking Characters, Green Background -


176 Blinking Characters, Cyan Background r
192 Blinking Characters, Red Background
208 Blinking Characters, Magenta Background ■
224 Blinking Characters, Brown Background >
240 Blinking Characters, White (Dim) Background
»
NOTE #7 Using the Menus. If you prefer, you can use the menus to create a custom
color file. To do this, select "Screen — Type Style Colors" from the Default
menu. To load the custom file, select "Screen — Color Sets" from the
Default menu. ‘

48
Customization Tables

Intro Customization tables are another way to change the built-in values of
XyWrite. They constitute the third major category of information in
SETTINGS.DFL. This section describes the following customization
tables:

• PP (Pick Printer) table


• SE (Separator) table
• CS (Counter String) table

49
Pick Printer Table PP

FORMAT PP:#
dl filel.prn notesl

dn filen.prn notesn
# is the number of port/printer file combinations defined in the table.
dl...dn is a printer port (see Note #1).

filel.prn is the printer file associated with dl


filen.prn is the printer file associated with dn
notesl is the description of dl
notesn is the description of dn

The three columns are separated by tabs.


MENU HUI Printer Setup. I

PURPOSE The PP table defines the information that appears in the Select Printer File
dialog box. The PP table, which is created during the installation
procedure, lists all printer port/printer file combinations available on
your system and the printer file associated with each.

ACTION Modifying the PP Table


To modify the PP table because, for example, you added a printer to your
computer setup:

1. Call SETTLNGS.DFL.

2. Move the cursor to the PP table, which is near the bottom of the file.

3. Since we're adding a printer, add 1 to the number after the PP:.

4. At the end of the table, type the port designation, a tab, the printer file
you want loaded when you select this entry, a tab, and (optional) a
description of the new printer. For example:

LPT1 POST35N.PRN PostScript printer

5. Store and load SETTLNGS.DFL.

Result: The next time you issue the SETP command, the new printer will
be listed as one of the choices.

50
(cont'd) Pick Printer Table

Note #1 Print Destination. Your workstation has one or more ports which are
designated LPT1, LPT2, LPT3, C0M1, COM2, etc. These ports are used to
communicate with local and network printers (and other output devices).
If the printer is local, the port is set up to send information directly to it. If
the printer is on the network, network software commands intercept the
data from the port and redirect it to the network printer. If local printers
exist, they are usually connected to the first ports (LPT1, LPT2, etc.);
network printers use the next available ports.

In order for XyWrite to differentiate between local printer ports and ports
that are being redirected by the network software, XyWrite uses different
naming conventions. Enter the number 1 for a local parallel printer
connected to port LPT1, the number 2 for a local parallel printer connected
to port LPT2, etc. Enter LPT 1 if the network software is set up to redirect
data from LPT1 to a network printer, LPT2 if the network software is set
up to redirect data from LPT2 to a network printer, etc.

Example The following table is an example of a PP table. Refer to SETTINGS.DFL


to review the PP table XyWrite created for your setup during installation.

PP:3
LPTl D:\XY4\POST35N.PRN Apple LaserWriter 11/NT
1 D:\XY4\EPFX850.PRN Epson FX-850
LPT2 D:\XY4\HPLJ-3D.PRN Hewlett Packard LaserJet HID

51
Separator Table SE

FORMAT SE:3
String!
slring2
string3
stringl defines the characters XyWrite recognizes as word separators. string2
defines the characters XyWrite recognizes as sentence separators. string3
defines the characters XyWrite recognizes as paragraph separators.

PURPOSE The SE (Separator) Table allows you to define the characters you want
XyWrite to recognize as word, sentence, and paragraph separators. You can
select the separator characters from the first 256 characters in the character set
(see Appendix E for a complete list of characters). Once defined, XyWrite
uses these separators when you perform a function on a word, sentence, or
paragraph. Such functions include defining, deleting, spelling, hyphenating,
and moving the cursor.

For example, if you press [F£] to define the current paragraph, XyWrite looks
for the paragraph separator before and after the current cursor location and
defines the text between those two boundaries. If you press (cvt] [F7] to check the
spelling of the current word, XyWrite looks for the word separators before
and after the cursor location to determine the boundaries of the word.

The default separators are:

Word: + = ()[]{)<>:;'’,.!i?i/CA ! A£yx + °s± — "l§


plus the line draw and fill characters.

Sentence: .! ? £ j

Paragraph: £ / ->

If you want to use different separators, add an SE table to SETTINGS.DFL.


You must include all three strings, and you must use all of the characters you
want XyWrite to recognize, not just the ones you are adding.

52
(cont'd) Separator Table

ACTION Adding an SE Table


To add an SE table to SETTINGS.DFL:

1. Open SETTINGS.DFL.
Type: [Fsjcall settings.dflS
2. Move the cursor to the end of the file.
Press: [ciR] [End]

3. Type in all four lines of the table. Remember, you must enter all of the
characters you want XyWrite to recognize as separators.

4. Store and load SETTINGS.DFL.

Result: The new separators are now in effect.

NOTE Default Separator Table. You can request a soft copy of the default
separator table from the Technical Services Department.
Counter String Table CS

FORMAT CS:n
string!
string!

stringn
n is the number of strings
stringl, string!,... stringn define the characters you want used for
customized numbering functions.

PURPOSE The CS table lets you define a custom set of characters that you want
XyWrite to use when it automatically numbers pages, chapters, footnotes,
or other counters. Each string in the table can contain any number of
characters, but they must be from the first 256 characters in the character
set (see Appendix E for a list of characters).

The default custom counters are *, •*, ***, and so on. If you want to use
different custom counters, add a CS table to SETTINGS.DFL.

ACTION Adding a CS Table


To add a CS table to SETTINGS.DFL:

1. Open SETTINGS.DFL.
Type: iFslcall settings.dll(3
2. Move the cursor to the end of the file.
Press: [cirilfEndl
3. Type in the table. You can put in as many strings are you like. Just be
sure that the number on the first line correctly indicates the number of
strings in the table. For example:
CS:4
I
@

$
4. Store and load SETTINGS.DFL.

Result: The new counters are now in effect. When you use this table for
counting, the list of strings will eventually be exhausted. After this point,
the first string will be used twice, then the second, and so on. j
Keyboard File

INTRO The keyboard is your connection to XyWrite — you can modify the
keyboard functions to your liking. You can rearrange keys, and you can
reduce the most complicated function to a single keystroke.

This section also covers the function calls, which form the foundation of
XyWrite. Once you become familiar with the keyboard file, you may find
yourself inventing new combinations of functions to best serve your
purpose.

Contents page section

56 Modifying Keyboard Files


61 Reassigning a Key
62 Creating a Command Key
62 Loading a Keyboard File
64 Function Calls

55
Modifying Keyboard Files

PURPOSE Did you ever wish you could change the meaning of the keys on the
keyboard? In this section you will learn how to change a key or even the
whole keyboard to suit your needs.
Here are two simple ways you can change the keyboard file:
• Create shortcuts. For example, assign the key combination [ctri]D to be a
shortcut for [FsldirRIl. to display a directory.
• Assign new functions to keys. You can alter the keyboard file to do
things you could otherwise not do. You can assign any of the function
calls you prefer to a key. For example, you can change the cursor up
and down keys to Linear Up (LU) and Down (LD). Linear Up and
Down allow the cursor to move directly up or down without ever
switching columns.
You generally assign basic functions to the keyboard file. From these you
can construct more elaborate routines in program files.
Before you learn key assignment, you should know how XyWrite takes
keyboard input and puts the desired character on the screen. This is done
with key codes in a keyboard file called XY4.KBD, which is contained on
the original XyWrite disk.
The figure on the facing page shows how each key is numbered. For
example, when you press key number 30, the keyboard file translates code
30 to mean the letter "A."
You use the LOAD command to load a new keyboard into XyWrite. It is a
feature of XyWrite that you can load a keyboard file any time that XyWrite
is running.

56
(cont'd) Modifying Keyboard Files

KEYBOARD DIAGRAM
STANDARD IBM KEYBOARD

Fl F2 2 3I 4 1 5 67 1| 7 8 I
.’.1 110 1 12 l ■ ♦— Num lock Scroll Loci
5 | 0 |
50 60 3 4I 6 8 13 14 60 70
F3 F4 Tab 0 I W E I R I T I Y I U 1 1 0 1 P I 26 J <om«
1 f
61 62 15 I 16 | 17 18 1 10 | 20 1 21 22 23 24 | 25 27 71 72 73 74
F5 F6 an A S 0 F G H J X I 28

63 64 20 30 31 32 33 34 35 36 37 38 30 1 40 41 75 76 77
F7 F8 Shift \ z X C V B N M / Shift CM 1 Pl On 4
65 66 42 43 44 45 46 47 48 40 50 51 52 53 54 55 70 30 81 78
F0 F10 Alt Space Bar Cm Lock Ins Del
67 68 56 57 58 82 83

IBM XT KEYBOARD

IBM PC/AT KEYBOARD

H XIR R F5 l| F6 II F7 |l F8
63 || 64 || 65 || 66
F9 IIFK FH F12
67 || 68 II 87 || 88

..|X IX IXIXIX nr
Km /
lol
14 69 94 55 74

“IM mm ill?.
Caw Loculi A 1
W
7
E
18
S 11 0
19
R T
20
I -1
Hum
71
t
72
Pyup
73
—* 78

58 31 || 32
ixmix 39 || 40
I 28 75 76 77

t hw
8 N MTTT Shift
43 49 50 II 51 || 52 || 53 || - »
End
♦ FflOn
79 80 81 Erie
Qrl II AA Space Bar 1 Al j CUI Im CM 104
| 98 1 99 82
57 83

57
Modifying Keyboard Files (confd)

How to Modify Your Keyboard File. This section describes how a


keyboard file is constructed. The XY4.KBD file is organized into five parts:
1. Comments Example: ;END OF TABLE
2. Number of Keys Example: KEYS=105
3. Shifting Keys Example: CTRL=29,99
4. Tables Example: TABLE=CTRL
5. Key definitions Example: 30-a
Each of these parts requires some explanation:
1. Comments. Every line that begins with a semicolon is a comment — it
has no effect on key assignments.

2. Number of Keys. The first definition in the keyboard file is the KEYS
statement. To accommodate the 83- and the 104-key IBM keyboards
plus a mouse, the KEYS statement is:
KEYS=105
3. Shifting Keys. The XY4.KBD keyboard file comes with seven shifting
keys (two [m], two Icifi], two [Shift], and one |Capstod<|), which define four
shifting states. Each shifting key can shift the keyboard to a new set of
key definitions. In XY4.KBD, the shifting states are defined as follows:
CTRL=29,99
ALT=56,98
SHIFT=42,54
CAPS=58,T:C
XyWrite can have up to six shifting states (using any names you want
— no numbers allowed). That is, if you keep these four states, you can
define two more (or you could delete these four and define six new
states). You can use these keys alone (e.g., TABLE=CTRL) or in
combination (e.g., TABLE=CTRL+ALT) to create up to 20 tables. For
example, you could define |PhntScreen| to be a shifting key.
The order of these definitions designates their priority. In the above
example, if you press both [cirfl and leaps Local, the CT RL table prevails
(because there is no CTRL+CAPS table).

58
(cont'd) Modifying Keyboard Files

Options for shifting key definitions.

,N Numeric Lock
,T:n Toggle

n is any letter you specify. When you include n with a shifting key
definition, XyWrite displays the letter you specify in the upper right
corner of the screen to indicate that a toggle key is on.

N (Numeric Lock) indicates that when you press that shifting key, the
sense of the Numeric Lock key changes. The statement SH1FT=42,54,N
means that if Numeric Lock is on, pressing either Shift key changes the
number pad to a cursor pad.

T (Toggle) defines a key as a toggle shifting key — when you press the
key, the keyboard table associated with that shifting key is enabled and
stays active until you press the shifting key again. |Caps Lockl is the only
toggle shifting key on the default XY4.KBD keyboard, but you can define
up to three others. (|NumLockl. I Scroll Lockl, and Automatic Uppercase do not
count — they are not toggle shifting keys.) You can display any letter in the
header when a toggle key is on. For example, CAPS=58,T:C causes the
letter "C" to appear when you press leaps Lockl. The "C" disappears when
you press leaps Lockl again.

EXAMPLE: Let's say you need Greek letters to write technical text. You
first create TABLE=PRTSCR, assigning Greek letters to keys. You next
make |PrmtScreen| a shifting key: PRTSCR=84,T would enable you to switch
the Greek keyboard on and off. PRTSCR=84,T:G would also cause the
letter G to appear on the command line while the PRTSCR table is in
effect.

59
Modifying Keyboard Files (cont'd)

4. Tables. The keyboard file XY4.KBD is made up of ten tables. (You can
have up to 20 tables.) Each table can give you an entire set of keys. The
ten tables are:
TABLE=
TABLE=CAPS
TABLE=SHIFT
TABLE=SHIFT+CAPS
TABLE«=CTRL
TABLE=ALT
TABLE=CTRL+SHIFT
TABLE=ALT+SHIFT
TABLE=CTRL+ALT
TABLE-CTRL+ALT+SHIFT

5. Key Definitions. Following the statement TABLE= you will find the
key definitions.

Format: # =fl,f2,f3,...

it is the key code — a number from 1 to 120


fl,f2,f3,... are function calls or characters

Examples:
30=a The letter "a" is assigned to key number 30.
72=CU The function CU (Cursor Up) is assigned to key
72.
68=GT,SH The two functions GT, SH (Go to Text, Show
Help) are assigned to key 68.
31=BC,s,a,v,e,XC The command SAVE is executed by the series of
keystrokes BC (Blank the Command Line),
spelling SAVE, and XC (Execute). These
keystrokes are all assigned to key 31.
Notice in this last example that when you enter text, each character is
separated by a comma. Punctuation and spaces must also be
separated by commas.

60
(cont'd) Modifying Keyboard Files

Action Reassigning a Key


To demonstrate how to reassign a key, we will show how to change the
[CtrilIShrttlFt] key combination to move the cursor up five lines at a time.

1. Call the keyboard file to the screen:


Type: [Fsjca xy4.kbd0

2. Use the SEARCH command to find the table for the [fti] IShiftl keys.
Type: [Fsjse /table=ctrl+shift/0

3. Find the code 72, which represents the 0 (cursor up) key.
Type: [fsjse /72/0

Result: The cursor stops on the line reading:


72=GH<-

4. Change this line to read:


72=CU,CU,CU,CU,CU<-
CU is a. function call—it means Cursor Up. (Each time it is executed, it
moves the cursor up one line.)

5. Store the keyboard file.


Type: [F5]store0

6. Load the altered keyboard file into memory.


Type: [?5|load xy4.kbdS

To test the new key assignment, move the cursor several lines down from
the top of any open file. Now, while holding down [w] and Ishiftl, press the
0 (cursor up) key. The cursor moves up five lines. With a similar
procedure, it is easy to create a [Cvil0 (cursor down) function that will move
the cursor down five lines.

61
Modifying Keyboard Files (cont'd)

Action Creating a Command Key


You might find it helpful to display a list of files in a specific directory by
pressing a single keystroke. Let's see how vou can create a command key
to display the \XY4 directory by pressing IcwlX.

1. Type: fFslca xy4.kbd[7>|

2. Notice that the key code for X is 44. Search for the CTRL table.
Type: [Filse /table=ctrl/CT

Result: The cursor should now be positioned at the top of the CTRL
table.

3. Find code 44:


Type: lF5]se/44/[Zil

4. Change the line to read:


44=BC,d,i,r, ,\,x,y,41XC^

5. Type: [FsJstoreS

6. Type: [Rjload xy4.kbd[Zi|

Analysis. Before trying out this new command, let's see what it does step-
by-step:

BC clears the command line (the same as key [fs] ).


The letters dir \xy4 are typed on the command line.
XC executes the DIR command (the same as key [rail.

To try out this new command, press [cvi]X — this should display a
directory of \XY4.

Action Loading a Keyboard File


To load a keyboard file into memory, enter the LOAD command along
with the name of the keyboard file you want to load. For example:

Type: [sjload ibm1.kbd0

Result: Keyboard file IBM1.KBD is now in effect.

62
(cont'd) Modifying Keyboard Files

NOTE #1 Executing Function Calls as Commands. The FUNC command enables


you to execute any of the two-letter function calls from the command line.
The function call is executed as though it were assigned to a key and you
pressed that key. This is a way to execute seldom-used functions.
To execute a function call from the command line, enter FUNC followed
by the function call you want to execute. For example, to execute the
function NM (No Marker):
Type: [Rjfunc nm0
In this case, the format triangles and carriage-return arrows normally
displayed on-screen are hidden from your view (although they remain
embedded in the file).
Function calls that perform text-related functions require the cursor to be
in the text when you execute them.
NOTE #2 Unassigned Keys. When using the keyboard file to assign new functions
to keys, avoid using a key that already has something assigned to it. For
example, in XY4.KBD the [m] key is used primarily to activate the menus;
most of the [evil keys are used for keyboard shortcuts.
NOTE #3 Keep Old Lines as Comments. When you modify a line in the keyboard
file, it's often a good idea to keep the old line by making it a comment.
This way you can remember what the key used to do in case you want to
revert it to its previous function. Put one or more semicolons (;) in front of
the old line. For example, if you were to change key 72 from CU to LU:
;;;72=CU
72=LU
NOTE #4 Multiple Character Assignment. Whenever you use more than one
character in a key assignment, you must start the assignment with a
function call. If no other function call is appropriate, use NO (No
Operation). For example, the assignment 74=A,n,d,r,e.w would not work,
whereas 74=NO,A,n,d,r,e,w would work. (If a key assignment does not
begin with a function call, only the first character is read.)
Note #5 Load Requirement. It is not mandatory that you load a keyboard file,
unless you want a customized keyboard. XyWrite comes with its own
keyboard file built in. You have to load a keyboard file only if you want
to modify the keyboard from its standard settings.
Note #6 Startup. In order to use a keyboard file you have altered, you must load it
each time you start XyWrite. You can have your keyboard file
automatically loaded at startup by adding the LOAD command to your
STARTUP.INT file. Refer to "Startup File" elsewhere in this manual for
information on modifying STARTUP.INT.

63
Function Calls

Purpose Function calls are two-letter instructions that represent basic keyboard
actions. Function calls are assigned to keys in the keyboard file. For
example, 77=CR means that Cursor Right is assigned to the cursor right­
arrow key (key #77). Similarly, DL means select a line of text; CP means
copy the selected text; and M2 means set bold mode.
There are two ways you can execute these function calls: (1) in the
keyboard file and (2) with the FUNC command on the command line.
These are both described in the previous section "Modifying Keyboard
Files." Function calls also appear in program files — for example, BC
appears in the STARTUP.1NT file.
To execute several function calls in sequence with one keystroke, assign
them to a key, separating them with commas. For example, 77=CR,CD
would move the cursor right and then down.

NOTE #1 User Programming. You can use all of these function calls in programs
except TS (Toggle Scroll Lock). TS cannot be entered into a program file,
since you use it to begin and end the recording of a program. If you want
to enter a function call into a program that is not assigned to a key, use the
PFUNC command.
NOTE #2 Function Calls with Arguments. Several function calls (TM, MT, MN, JM,
JH) take arguments. If you are using the function call in a keyboard file,
be sure to put commas between each character in the argument; if you are
using the function call in a program, omit the commas. For example:

JH,(,b,a,s,i,c,s,) in a keyboard file


JH (basics) in a program file

Note #3 Redefining Function Calls. You can use XyWrite's command override
feature to redefine that functions associated with a function call. Refer to
"Custom Commands" elsewhere in this manual for more information.
(cont'd) Function Calls

FUNCTION CALLS BY CATEGORY


Counters/Numbering
Aligning Text CO Counters (CO to C9)
FC Force center
FL Flush left Cursor Movement in Text
FR Flush right BF Bottom of file
Character Modes (see Note #3) BS Bottom of screen
MO Mode 0, prevailing CD Cursor down
M1 Mode 1, normal CL Cursor left
M2 Mode 2, bold CR Cursor right
M3 Mode 3, underline CU Cursor up
M4 Mode 4, reverse DB Defined beginning
M5 Mode 5, bold underline DE Defined End
M6 Mode 6, bold reverse EL Express left
M7 Mode 7, superscript ER Express right
M8 Mode 8, subscript
HM Home
M9 Mode 9, italic JC Jump over commands
MX Mode 0, prevailing
LB Line begin
MZ Bold italic mode LD Linear cursor down
LE Line end
Columns LL Cursor linear left
CF Column functions LR Cursor linear right
EC End of cell LU Cursor linear up
ED Entire row define MD Move down
EE Erase entry MU Move up
HC Home of cell NC Next character
MC Mark cell NF Next formatted page
TE Table entry NL Next line
TL Table column left NP Next paragraph
TM Table move NS Next sentence
TR Table column right NT Next tab
Command Line NW Next word
BC Blank the command line PC Previous character
CC Change cursor PF Previous formatted page
CH Clear header PL Previous line
GH Go to header PP Previous paragraph
GT Go to text area PS Previous sentence
S+ Command stack up PT Previous tab
S- Command stack down PU Page up
XC Execute PW Previous word
TF Top of file
Copying and Moving Text WH Home
CP Copy selected text
MV Move selected text

65
Function Calls (cont'd)

Deleting Text Menu/Help


BD Backspace delete AK Accelerator key
DN Delete selection without saving B4 Dialog box
NU No undelete HF Help frame
RB Rubout previous word HL Help
RC Rubout character H@ Help screens
RD Rubout defined block JH Jump to help
RE Rubout to end of line JM Jump to menus
RL Rubout line OP Old prompt
RP Rubout paragraph QH Quick help
RS Rubout sentence QP Quick print
RW Rubout word SH Show help
UD Undelete ST Show triangle help
UN Paste from clipboard XH Cancel help
UP Unpad spaces SO Cail Help (SO to S9)
SA Call Help (SA to SZ)
Draft/Expanded/Graphic Views
CM Change view Draft/Expanded Non-Keyboard Characters (see Note #4)
HG Hide graphics RO Non-keyboard character (RO to R9)
MK No marker mode
NM No markers Programming
NR No ruler « Search start command
SP Formatted view » Search end command
TG Expanded RX Execute recorded keystrokes
TP Toggle page Formatted/Expanded BX Blind execute
WG Draft view Q2 Execute Too
WZ Graphic view
XP Expanded view Redlining
LT Login toggle
Foreign/Overstrike Characters (Note #5) RO Redlining on/off
51 Acute accent
52 Grave accent Search (see Note #6)
53 Umlaut FD Find difference
54 Circumflex FM Find match
55 O accent IT Insert tab
56 Tilde NN Generic wild card
57 Underline WA Wild alpha
XX Define floating accent WC Wild carriage return
WL Wild letter
Math WN Wild number
DT Display total WS Wild separator
MT Math function WW Wild string
SM Sum WX Wild any character
SU Subtract

66
(cont'd) Function Calls

»
I1 Selecting Blocks of Text XS Scoping markers
I DC Define column ZT Zero time
»
I DD Delete selected block
DF Define block Text Macros
I
I
DL Define line AD Append define to text macro
I DM Define modify SG Get text macro
DP Define paragraph SK Show text macro key
DS Define sentence SV Save define
DW Define word @0 Text macro (@0 to @9)
DZ Define end @A Text macro (@A to @Z)
NB Non-breakable block &0 Text macro (&0 to &9)
XD Cancel define &A Text macro (&A to &Z)
YD Cancel define (variation)
Toggle Keys
Spelling/Thesaurus BT Borders toggle
i AC Auto-check Cl Clear insert mode

I
I
AR
AZ
Expand abbreviation
Auto-replace toggle
CN
CS
Clear numeric lock
Clear scroll lock
I FX Fix spelling Ml Momentary insert
I Q1 Dialog box functions (QI to Q8) NK Toggle numeric lock
SC Spelling auto-check RK Record keystrokes
I
Fi
SO Spell one word SI Set insert mode
SY Synonyms SN Set numeric lock
! SS Set scroll lock
i
i System Tl Toggle insert mode
f BK Break TN Toggle numeric lock
I CO Comma TO Toggle overstrike
i DO Display on TS Toggle scroll lock
l
f DX Display off TW Toggle word
t EF Edit marker
EN Edit next file Transposing Text (see Note 9)
ES Escape FX Transpose text units
ET Elapsed time XN Transpose text units
EX Exit
FF Force fill Windows
IB IBM mode AS Alternate screen
KF Keyboard flip CB Cycle backwards
MN Menu NX Next window
MS Mouse SW Show window menu
Nl Not IBM-sensitive #1 Window (#1 to #9)
NO No operation
PR Print screen
RV Review
SA Save
SF Store all files
SL Save all files
67
Function Calls (cont'd)

FUNCTION CALLS ALPHABETICALLY

The keys listed in the right-hand column are those provided in the original XY4.KBD file. You can
change these assignments.

Function Call Key


« Start command - Indicate a single left double-angle bracket in a (none)
program as part of a search executed from the command line.
» End command - Indicate a single right double-angle bracket in a (none)
program as part of a search executed from the command line.
#1 Window No. 1 - Move the cursor to window no. 1. Iciril [Shifil 1
#2 Window No. 2 - Move the cursor to window no. 2. fctril [Shml2
#3 Window No. 3 - Move the cursor to window no. 3. |Ctrfl[SNftl3
#4 Window No. 4 - Move the cursor to window no. 4. |Ciril[Shifi]4
#5 Window No. 5 - Move the cursor to window no. 5. |Cidl [Shiit] 5
#6 Window No. 6 - Move the cursor to window no. 6. [wl [Shiit]6
#7 Window No. 7 - Move the cursor to window no. 7. |Cw][Shiit]7
#8 Window No. 8 - Move the cursor to window no. 8. [Ctii][Shiftl8
#9 Window No. 9 - Move the cursor to window no. 9. [Ctril [Shiitl9
$0 Call Help SO - Call the help frame with keyword SO. (none)
to
$9 Call Help S9 - Call the help frame with keyword $9. (none)
SA Call Help SA - Call the help frame with keyword SA. (none)
to
$Z Call Help $Z - Call the help frame with keyword $Z. (none)
@0 Text Macro Key 0 - Place contents of text macro 0 at the cursor (none)
to location (or run program on text macro 0). (See Note #2.)
@9 Text Macro Key 9 - Place contents of text macro 9 at the cursor (none)
location (or run program on text macro 9). (See Note #2.)
@A Text Macro Key A - Place contents of text macro A at the cursor (none)
to location (or run program on text macro A). (See Note #2.)
@Z Text Macro Key Z - Place contents of text macro Z at the cursor (none)
location (or run program on text macro Z). (See Note #2.)
&0 Text Macro &0 - Run program assigned with LDPM filename,&0. (none)
to
&9 Text Macro &9 - Run program assigned with LDPM filename.&9. (none)
&A Text Macro &A - Run program assigned with LDPM filename,&A. (none)
to
&Z Text Macro &Z - Run program assigned with LDPM filename,&Z, (none)

68
(cont'd) Function Calls

Function Call Key


AC Auto-Check - Turn Auto-Check on and off.
AD Append Define to Text Macro - Add the currently selected (none)
block of text to the end of the text in the specified text macro.
AK Accelerator Key - Move to a specific item in a dialog box when (Alt] A to [AitjZ
you press the accelerator key associated with the item. @0 to [Ah] 9
AR Expand Abbreviation - Execute Expand Abbreviation.
AZ Auto-Replace - Turn Auto-Replace on and off. [CtrilfShih] A
AS Alternate Screen - Move cursor between the two windows last
displayed.
B4 Dialog Box - Display the dialog box previous to the last one (none)
displayed.
BC Blank the Command Line - Clear the command line and move El
the cursor next to the start of the command line.
BD Backspace Delete - Delete the previous character. I Backspace!
BF Bottom of File - Move cursor to the bottom of the file. Iciril[End]
BK Break - Stop any command currently in progress (such as delete [Cvi][itok]
or search); stop any user program that is running.
BS Bottom of Screen - Move cursor to bottom of screen. [Ail] [End]
BT Border Toggle - Toggle window borders on and off. (none)
BX Blind Execute - Execute a command within a program without (none)
moving the cursor to the command line. Parentheses are required
around the command and any arguments. For example:
BX (ca test)
CO Counter 0 - Insert the formatting command CO in the text. (none)
to
C9 Counter 9 - Insert the formatting command C9 in the text. (none)
CB Cycle Backwards - Move through windows in the reverse order in SEJ
which they were opened.
CC Change Cursor - Move cursor between the command line and fctrilfpiol.
text. rShift][F5). (El,
5 (on numpad)
CD Cursor Down - Move cursor down one line. a
CF Column Functions - Perform function indicated (see Note #10). (none)
CH Clear Header - Delete the text on the command line without moving the (none)
cursor.
Cl Clear Insert Mode - Switch to Overstrike mode (from Insert). (none)
CL Cursor Left - Move left one space; wrap to previous line. s
CM Change View Draft/Expanded - Switch between draft and (none)
expanded views.
CN Clear Numeric Lock - Turn off the Numeric Lock. (none)

69
Calls (cont'd)

Function Call Key


CO Comma - Insert a comma Into the text. CO is used in a keyboard (nona)
file In place of the punctuation mark (,) for commands that contain
a comma (such as IP 0,5). CO is needed since the comma mark
(,) Is used as a separator. Example: l,P,0,CO,5.
CP Copy Defined Block of Text - Copy the currently selected block [Ctriic
of text to the cursor position.
CR Cursor Right - Move right one character; wrap to next line. s
CS Clear Scroll Lock - Turn off Program mode. (none)
CU Cursor Up - Move cursor up one line. E
DB Defined Beginning - Move the cursor to the beginning of the (none)
selected block.
DC Define Column - Begin selecting a column of text. ®[F3]
DD Delete Selected Block - End selecting a block if one is in (none)
progress and delete the block. If nothing is selected, it deletes the
character the cursor is on.
DE Defined End - Move cursor to end of the selected block.
DF Define Block - Begin or end selecting a block of any size.
DL Define Line - Select the line of text the cursor is on.
DM Define Modify - Extend a block of selected text to the cursor position.
DN Delete Selection. - Delete selected text without saving it on the
delete stack.
DO Display On - Turn on the display (complement of DX).
DP Define Paragraph - Select paragraph the cursor is on.
DS Define Sentence - Select the sentence the cursor is on.
DT Display Total - Dump accumulated sum into the text at the cursor
position.
DW Define Word - Select the word the cursor is on. ICtrlllShiftin
DX Display Off - Freeze the display (complement of DO). (none)
DZ Define End - End selecting a block if one is in progress. |[Shrttl + cursor keys
EA Edit Second Argument - Opens command window for editing text only. (none)
EC End of Cell - Move the cursor to the bottom of the current cell. (none)
ED Entire Row Define - Select the current row of cells in the table. (none)
EE Erase Entry - Delete a row of entries in the table. I Shill IQ (on num pad)
EF Edit Marker - Open a command marker (e.g., header or ISMlfFil
footnote) so that you can edit it without switching to expanded view.
EL Express Left - Move cursor to far left of line and then
to left end of previous lines.
EN Edit Next File - Open the next file that matches a global filename [Cidl [Aitl [Shifll N
specification.
ER Express Right - Move cursor to far right of tine and then
to start and end of subsequent lines.
ES Escape - Remove the currently displayed menu or Help screen,
release selected text, or dose the currently displayed command window.

70
(cont'd) Function Calls

Function Call Key


ET Elapsed Time - Record the amount of time elapsed since you (none)
issued the ZT (Zero Time) function call and insert it in the text. You
can use the ET and the ZT function calls as a stopwatch to keep
track of how long it takes to complete a task.
EX Exit - Quit XyWrite, return to DOS (after prompting for [Ctrtl [Artl [Dei]
verification).
FC Force Center - Insert FC (Force Center) command to center tex1 (none)
between the left and right margins.
fd Find Difference - Compare the two files In the current and [cviin
previous windows — stop where files do not match.
FF Force Fill - Force the display to refresh. (none)
FL Flush Left - Insert FL (Flush Left) command. (none)
FM Find Match - Compare two files In the current and previous [cuiJQ
windows — stop where files match.
FR Flush Right - Insert FR (Flush Right) command. (none)
FS Fix Spelling - Return cursor to last misspelled word and display [CtrtlE
the spelling menu.
FX Transpose Text - Transpose Indicated unit of text (see Note #9) □
GH Go to Header - Move cursor from the text to the previous cursor [CMlfSMlFt]
position on the command line without clearing the command line.
GT Go to Text Area - Move cursor from the command line to the [cwKshiftirn
previous cursor position in the text area.
H@ Help Screens - Display Help menu or context-sensitive help. 0
HC Home of Cell - Move the cursor to the top of the current entry in (none)
the table.
HF Help Frame - Display Help frame with the same % keyword as (none)
assigned to the key in the keyboard file.
HG Hide Graphics - Display a border around the graphic area without (none)
displaying the graphic itself.
HL Help - Display help frame related to first word on command line. (none)
HM Home - Move cursor to the top of the screen. |A>tl (Homel
IB IBM Mode - Clear the XyWrite keyboard buffer. (none)
IT Insert Tab - Insert a tab on the command line. |CM||Shifl|[Tabl
JC Jump over Commands - If the cursor is on a command marker, move (none)
the cursor to the right until it is no longer on a command.
JH Jump to Help - Display the Help frame that resides in the Help (several keys)
file with specified keyword. Parentheses are required around the
keyword. For example: JH,(,b,a,s,i,c,s,)
JM Jump to Menu - Display menu frame that resides In the Menu file (several keys)
with the specified keyword. Parentheses are required around the
keyword, and commas must separate the letters of the keyword.
For example: JM,(lo,p,t,l,o,n,1,)

71
Function Calls (cont'd)

Function Call Key


KD Kill Dialog Box - Remove current dialog box from screen. (none)
KF Keyboard Flip - Redirect the keyboard to XyWrite to prevent [Clri]fEscl
keystrokes being transmitted while a TSR application program is
being accessed.
LB Line Begin - Move cursor to far left of line and no further. (none)
LD Cursor Linear Down - Move cursor directly down one line. (none)
LE Line End - Move cursor to far right of line and no further. (none)
LL Cursor Linear Left - Move cursor left one character; do not wrap (none)
to previous line.
LR Cursor Linear Right - Move cursor right one character; allowable (none)
to move past the carriage return.
LT Login Toggle - Suppress text display of captured redlining (none)
login information.
LU Cursor Linear Up - Move cursor directly up one line. (none)
MO Mode 0, Prevailing - Text that you type is entered in the mode [ctrtlO
that exists at the cursor location.
M1 Select Normal Mode - Text that you type is entered in the normal [Ctrill
mode (not highlighted).
M2 Select Bold Mode - Text that you type is entered in bold mode. (Ctri]2
M3 Select Underline Mode - Text that you type is entered in [M]3
underline mode.
M4 Select Reverse Mode - Text that you type is entered in reverse fcui]9
mode.
M5 Select Bold Underline Mode - Text that you type is entered in [cuT|5
bold underline mode.
M6 Select Bold Reverse Mode - Text that you type is entered in (none)
bold reverse mode.
M7 Select Superscript Mode - Text that you type is entered in [Ctitl7
superscript mode.
MB Select Subscript Mode - Text that you type is entered in [Ciril8
subscript mode.
M9 Select Italic Mode - Text that you type is entered in italic mode. [ciri]4
MC Mark Cell - Select the cell where the cursor is located in the table. (none)
MD Move Down - Scroll text and cursor down one line. [CtrilfPaUol
Ml Momentary Insert - Switch from Overstrike to Insert for a single (none)
insert. Enter this function call at the exact location that you want to
make the insert.
MK No Marker Mode - Remove embedded command and line ending [Shift] [fH] , iMllShSllFll
markers from the displayed text.
MN Menu - Display information about the currently loaded values (see Note #7). (none)

72
(cont'd) Function Calls

Function Call Key


MS Mouse - Designate that a mouse is installed. To use the mouse
with XyWrite, the MS function call must be assigned to key 105
in the unshift, shift, caps, and shift+caps tables of the
keyboard file.
MT Math Function - Multiply (*) or divide (/) accumulated sum by @0 (on numpad)
the selected number. (See Note #8.)
MU Move Up - Scroll text and cursor up one line. Icth] IPgDnl
MV Move Defined Block of Text - Move the currently selected block fcfrilM
of text to the cursor position.
MX Prevailing Mode. Same as MO, but does not get inserted in programs. (none)
MZ Select Bold Italic Mode - Text that you type is entered in bold italic. [cid]6
NB Non-Breakable Block - Designate the selected block of text as (none)
unbreakable by inserting an NB (Non-Breakable) command at the
beginning and a BB (Breakable Block) command at the end.
NC Next Character - Move cursor to the next character. (none)
NF Next Formatted Page - Move cursor to first line of next printed [Ah] |PgOr>|
page.
Nl Not IBM-Sensitive Key - Prevent a key from being passed to DOS. (several)
Use it at the beginning of key assignments for standard
DOS key functions, such as |PnScr|.
NK Toggle Numeric Lock - Change the state of the Numeric Lock key. (none)
NL Next Line - Move cursor to start of next line.
NM No Markers - Hide the format triangles, carriage return arrows, (none)
and Page-Depth numbers. NM also switches the view to draft if it
was in expanded.
NN Generic Wild Card - Establish the key as a wild card. The
character after the comma is the character XyWrite displays in
reverse to indicate the wild card. The only valid characters used
with NN are:
ES Interpreted as number of times string appears. fAii][Shrft]O to [Ah][SMt]9
Interprets string as anything but the next single character. [Ait] [Shift] Fl
0 Indicates more than one string. [Ait] [ShittlO
Q Interpreted as a carriage return. [Ait][Shih]R
0 Interpreted as a line feed. [Ait] [Shift] F
| Interpreted as a sentence separator. [Ai][SMtin
NO No Operation - XyWrite requires that keys with multiple (several)
character assignments start with a function call. Use NO in the
keyboard file when no other function call is appropriate.
NP Next Paragraph - Move cursor to start of next paragraph. (ADS
NR Next Ruler - Toggle the third line in the header between the tab (none)
ruler, a straight line, and an extra line of text.
NS Next Sentence - Move cursor to start of next sentence. (none)
NT Next Tab - Move cursor to the next tab without moving the text. [CtrilfTafl
NU No Undelete - Delete selected text without saving it for possible [Shift] [Dei]
later undelete.

73
Function Calls (cont'd)

Function Call Key —


NW Next Word - Move cursor to start of next word.
NX Next Window - Move the cursor successively through all open [F6] r
windows (in numerical order). F
OP Old Prompt - Switch from your document to the previously [ShfilEol
accessed Menu/Help frame. i
PC Previous Character - Move cursor to the previous character. (none) 1
PD Page Down (Next Screen) - Scroll down one screen. [PgDn] •
PF Previous Formatted Page - Move cursor to first line of previous (AitlfPqUpl
printed page. 1
PL Previous Line - Move cursor to start of previous line. (none) •
PP Previous Paragraph - Move to start of previous paragraph.
(none) 1
PR Print Screen - Print the contents of the full screen (all »■
25 lines, including header). »•
PS Previous Sentence - Move to start of previous sentence. (none)
PT Previous Tab - Move cursor to previous tab position. [Shift] [Tai)]
PU Page Up (Previous Screen) - Scroll up one screen. iPgUp) »
PW Previous Word - Move cursor to previous word. i
Q1-Q8 Spelling dialog box functions. EJ-EL E3 *
Q2 Execute - Execute the command entered with the BX function call. (none) »
b
QH Quick Help - Display the Menu/Help screen associated with the [Cid] [Ait] [Shift] Q
frame in which the cursor is located in a displayed Menu/Help file. b
QP Quick Print - Print the menu screen in which the cursor is located (none) 1
in a displayed menu file. I
RO Character 0 - Enter the single digit 0. |Ctrl) [Alt 10 (on numpad) {
R1 Character 1 - Enter the single digit 1. 1 Ctrll I All 11 (on numpad)
R2 Character 2 - Enter the single digit 2. I Ctrl| [Alt|2 (on numpad)
R3 ICtrll|Alli3 (on numpad) i
Character 3 - Enter the single digit 3.
R4 Character 4 - Enter the single digit 4. ICtrll I Alt] 4 (on numpad)
R5 Character 5 - Enter the single digit 5. [Ctrl] [Alt 15 (on numpad)
R6 Character 6 - Enter the single digit 6. IClrll |ANJ6 (on numpad) •
R7 Character 7 - Enter the single digit 7. [Ctrl] [Ah] 7 (on numpad) I
R8 Character 8 - Enter the single digit 8. [Ctdj |Ah| 8 (on numpad)
R9 Character 9 - Enter the single digit 9. [Ctrll (Alt|9 (on numpad)
RB Rubout Previous Word - Delete the word before the word the cursor is on. I Ctrl 11 Backspace I (
RC Rubout Character - Delete character at point of cursor. [Dd] !
RD Rubout Defined Block - Delete selected block of text. EH, •
RE Rubout to End of Line - Delete text from cursor to the end of the line. [Ait] [Dei]
Record Keystrokes Mode - Toggle Record Keystrokes mode on and off. [Ctri|K t
RK 1
RL Rubout Line - Delete the line the cursor is on. (none) r
RO Redlining On/Off - Turn redlining on and off. (none)

74
(cont'd) Function Calls

Function Call Key


RP Rubout Paragraph - Delete the paragraph the cursor Is located in. IcSilfFizl. lew][wilful
RS Rubout Sentence - Delete the sentence the cursor Is located In. (none)
RV Review - Preview the document that is currently displayed (none)
(same as PRINTS).
RW Rubout Word - Delete the word the cursor Is on. [CtfllWetel
RX Execute Recorded Keystrokes - Execute the last set of fShitillF9l
keystrokes you recorded.
S1 Acute Accent (none)
S2 Grave Accent (none)
S3 Umlaut (none)
S4 Circumflex (none)
S5 0 Accent (none)
S6 Tilde (none)
S7 Underline (none)
S+ Stack Up - Display the previous command in the command stack. [cw]B
S- Stack Down - Display the next command In the command
stack.
SA Save - Save the currently displayed file. (none)
SC Spelling Auto-Check - Turn Auto-Check on or off, depending on (none)
the argument you give the SC function call: SC,0 turns Auto-Check OFF;
SC,1 turns it ON.
SF Store Files - Store all open files in all windows. (none)
SG Get Text Macro - Output the contents of the text macro indicated [EU
by the next letter or number typed.
SH Show Help - Display the XyWrite action bar. [Fiol
SI Set Insert Mode - Switch to Insert mode (from Overstrike). (none)
SK Show Text Macro Key - Show contents of the text macro (none)
indicated by next letter or number typed.
SL Save Files - Save all open files in all windows. (none)
SM Sum - Add the number the cursor is on to the total; if block is [Ait] Q (on numpad)
selected, sum all numbers in block.
SN Set Numeric Lock - Select the Numeric Lock state. (none)
SO Spell One Word - Check the spelling of a single word.
SP Show Page-Depth No. - Switch to formatted view.
SS Set Scroll Lock - Turn on Program mode. (none)
ST Show Triangle Help - Displays help for the command marker under (none)
the cursor.
SU Subtract Value - Subtract the number the cursor is located on ]AJt| [—| (on numpad)
from the total.
SV Save Define - Save the selected block of text to the text macro [ShifiW
indicated by the next letter or number typed.
SW Show Window Menu - Display the window menu. [cuillFel

75
Function Calls (cont'd)

Function Call Key


SY Synonym3 - Display a list of synonyms. [ShHl[F7]
TE Table Entry - Create a new row of entries in the table. |Sh.h| Q (on numpad)
TF Top of File - Move cursor to top of the file. [Ctrt] iHomel
TG Expanded - Turn on expanded view. EBE]
T1 Toggle Insert Mode - Switch between Insert and the active [ins]
Overstrike mode and back.
TL Table Column Left - Move the cursor one column to the left in
lhe table.
TM Table Move - Move the cursor in a column to the position indicated, (none)
by the next keystroke (see Note #1).
TN Toggle Numeric Lock - Change the state of the Numeric Lock. (none)
TO Toggle Overstrike - Switch between Character Overstrike and (none)
Insert mode.
TP Toggle Formatted/Expanded - Toggle between formatted and (none)
expanded view.
TR Table Column Right - Move the cursor one column to the right in
the table.
TS Toggle Scroll Lock - Switch in and out of program mode. I Scroll Lockl
TW Toggle Word - Switch between Insert mode and Word Overstrike [wtJQns]
mode.
UD Undelete - Restore the last text deleted. ED. EJED
UN Undelete - Paste copy from clipboard. [Mil [ire]
UP Unpad Spaces - Delete spaces between the cursor and the first (none)
character to its left.
WA Wild Alphanumeric - Interpreted as any alphabetic or numeric [AitlfShittlA
character in a search.
WC Wild Carriage Return - Interpreted as the *• character at the end (none)
of lines,
WG Draft View - Switch text to draft view without Page-Depth EJ[fD
indicators.
WH WordPerfect Home - Emulate WordPerfect’s implementation of the
Home key (see Note #11). (none)
WL Wild Letter - Interpreted as any letter A-Z in a search. [AhlfSMtlL
WN Wild Number - Interpreted as any number 0 through 9 in a [Aitl [ShiFIN
search.
WS Wild Separator - Interpreted as any word separator in a search. [Ait] [ShihlS

WW Wild String - Interpreted as any string from 1 to 80 lAnlfSMtlW

characters in a search.
WX Wild Any Character - Interpreted as any character in a search.
WZ Graphic View - Switch text to graphic view.
XC Execute - Execute the command that is currently on the
command line.

76
(cont'd) Function Calls

Function Call Key


XD Cancel Define - Release the selected block of text. (none)
XH Clear Help - Remove any currently displayed Menu or Help (several)
screens from view.
XM Express Middle - Move cursor to the middle of the line. (none)
XP Expanded View - Switch text to expanded view. (none)
XN Transpose Text - Transpose the indicated text units (see Note #9). (none)
XS Scoping markers - Toggle the display of markers affected by scoping
(scoping is turned on with the ES default setting). (none)
XX Extra Accent - Define a floating accent (see Note #5). (none)
YD Cancel Define (Variation) - Similar to XD — release selected text (none)
but don’t close a footnote screen or other such screen. (Used in
programming).
ZT Zero Time - Reset the stopwatch function to zero and start the (none)
timer.

NOTE #1 Table Move. The TM function call moves the cursor to the position
indicated by the next keystroke. The following options are available:

0 Move to next element in same column (stop at last element in


column)
1 Move to previous element in same column (stop at first element in
column)
2 Move to top element in current column
3 Move to bottom element in current column

NOTE #2 @0 - @9, @A - @Z. The @ ("at" sign) followed by a letter or a number is


used to get text from the text macro key letter or number. For example,
@A requests the text saved as "A" to be inserted at the position of the
cursor.

NOTE #3 mo - M9, MZ. The letter "M" followed by a number between 0 and 9 or
the letter Z selects the character mode of text typed in at the keyboard. If
there is a block selected, the character mode of the selected block is
changed to the selected mode.

77
Function Calls (cont'd)

NOTE #4 R0 - R9. The letter "R" followed by a single digit (0 to 9) forms one digit
of a XyWrite character. XyWrite characters not assigned to a key must be
entered this way.

The first time RO to R9 is encountered, the number following the R is


accumulated as a digit of the decimal number. Subsequent keys add
further digits to the code number being accumulated. (If a key is struck
that is not one of these function calls, the code is cleared.) If the state of
the keyboard changes (such as a shift key being released), the accumulated
code is given to the program as complete.

As an example (in the XY4.KBD file), when [^i][CMl is held down, numbers
are assigned the R values. If you hold down the [«t| and [cm] keys and press
the numbers 2,9,4, the Greek letter alpha (a) is entered in the text when
you release the [An] and [cm] keys.

NOTE #5 Accented Characters. The letter S followed by a number between 1 and 7


is used for entering foreign accented characters. When you use one of
these calls, the indicated accent mark appears on the screen (at this stage,
the accent mark may not display correctly). If the letter that is next
pressed is a letter that accepts accents (for example, a, A, e, E, i, I).

The function call XX allows you to define additional characters as floating


accents. The format of the XX function call is:
XX,#
where # is the character you want to define as a floating accent. You must
also define the new floating accent in the AC (Accent) Table in the default
file (see Appendix C for information about the AC Table).

NOTE #6 NN, WA, WC, WL, WN, WS, WW, WX. These function calls are used to
indicate the wild card entries that are part of the Search string.

78
(cont'd) Function Calls

NOTE #7 MN (Menu) Function Arguments. The MN function has four arguments


you can use to specify the list of choices you want XyWrite to display:
CD (Cartridge Directory) lists all the cartridges for the printer file you
loaded. You can use the cursor keys to select one or more cartridges
and press 0 to load it.
FO (Fonts) lists all the available loaded internal, soft, and cartridge
fonts.
MT (Match Type) lists the printer and screen fonts XyWrite will use at
the cursor location in the document. Information displayed includes:
the font you specified, the font XyWrite will use, the name of the screen
font file, and the name of the screen font.
SZ (Size) lists point sizes available for the printer font you are using at
the current cursor location. If you are using scalable fonts, XyWrite
lists many of the sizes available, but allows you to enter a specific size.
The MN function call is used in XY4.MNU to display the four menus
described above.

NOTE #8 MT (Math) Functions. The MT function call also accepts the plus (+) and
minus (-) operators, although they are not mapped to keys.

NOTE #9 Transpose Text. There are two function calls that transpose text units: FX
and XN. The FX function call allows you to map the transpose functions
to a single key, while the XN function call lets you create a separate key
for each transpose function. You press the key assigned to the FX function
call in conjunction with a letter key (C, W, S, P) or number key (1-6) to
transpose text as follows:
C or 1 If the cursor is on a character, transposes the current and
previous characters. If the cursor is on a separator, transpose
the two characters before the cursor.
W or 2 Transposes the current and previous words.
S or 3 Transposes the current and previous sentences.
P or 4 Transposes the current and previous paragraphs.
5 Transposes the current and previous characters.
6 Transposes the two characters that precede the cursor.
To assign a specific transpose function to a key, assign the function call
XN, a comma, and a number 1-6 (as described above).

79
Function Calls (cont'd)

NOTE #10 CF (Column Function). The CF function call allows you to perform
several editing functions on a table, depending on the argument that
follows the function call:
1 Insert new column before current colmun
2 Insert new column after current column
3 Delete current column
4 Select cun-ent column
5 Select current table

NOTE #11 WH (WordPerfect Home). The WH function call works in conjunction


with other function calls to emulate WordPerfect's use of the Home key.
Specifically:
WH,CU Moves cursor to top of screen
WH,- Moves cursor to top of screen
WH,CD Moves cursor to bottom of screen
WH,+ Moves cursor to bottom of screen
WH,CL Moves cursor to beginning of line
WH,WH,CU Moves cursor to top of document
WH,WH,CL Moves cursor to beginning of line
WH,WH,CR Moves cursor to end of line
If WH is followed by any other function, it is ignored.

80
Loading Information Into Memory

Information gets loaded into memory in different ways. Every time you
start XyWrite from DOS, the program is loaded into memory. Then, when
XyWrite runs the program STARTUP.INT, the files that you have selected
to be part of your standard system configuration are loaded into memory.
When you display a file on screen, it is loaded in memory too.

Three commands load custom information into memory: LOAD, SETP,


and CART. They can be used as part of the startup procedure, or entered
from the command line after startup is complete.

There is no need to unload information from memory. XyWrite


automatically releases sections of code that are not in use, and reloads
them when you issue commands that require them.

Contents page Description Command

82 Load Customization Files LOAD


84 Select Print Destination SETP
86 Add Printer File ADDTBL
87 Load Cartridge Fonts CART

81
Load Customization Files LOAD

FORMAT ESH LOAD /i7el,/i7e2,/i7e3...


filel, file2, filei, and so on are names of XyWrite customization files. ;
MENU E3SSJ EGEE3 E3

Purpose You use the LOAD command to load the information in one or more
customization files into memory. You must load the files into memory
before they take effect. Each XyWrite customization file starts with a
special 4-character label that tells the LOAD command what type of file it
is. The 11 different file types and the label associated with each are listed
below. <
• Default file ;PR; t
• Dialog box file ;DG; •
• Help file ;HL;
• Hyphenation file ;HY; j
• Keyboard file ,KB; 1
• Menu file ;MN; !
• Personal spelling dictionary ;SP; t
• Printer file ;PR; ■
• Soft font file ;SF; ■
• Sort file ;SO; I
• User interface file ;U2; *

LOAD overwrites any information already in memory for the file type you ;
are loading. For example, if you load a printer file called POST35N.PRN
and then later load HPLJ-2P.PRN, XyWrite overwrites the printer-related
information in memory from POST35N.PRN. The exception to this rule is
the default file. If you load a new default file, only those defaults that are
redefined in the new file are changed. For example, if the first default file
you loaded specifies a value for OF and IP, and the second default file
specifies a value for OF but not IP, then the original IP value remains in
effect. :

Action Loading Customization Files


To load a keyboard file and a printer file into memory with one LOAD •
command:

1. Be sure the files you want to load start with the proper identifiers.

2. Issue the LOAD command.

Type: [fijload custom.kbd,post35n.prn0 :

82
(cont'd) LOAD

Result: Keyboard file CUSTOM.KBD and printer file POST35N.PRN


are loaded into memory. Information in memory for a different
keyboard or printer file is overwritten.

NOTE #1 Multiple Spelling Dictionaries. Because it is not unusual to want to use


more than one personal spelling dictionary, XyWrite allows you to append
the information in a spelling dictionary to the spelling information already
in memory. To do this, put a plus sign before the name of the spelling
dictionary you are appending. For example, to load PERS.SPL and
BUS.SPL:

Type: [fsjload pers.spl+bus.splQ

To later append the words in LEGAL.SPL:

Type: |F5]load +legal.splQ

NOTE #2 Memory Requirements. XyWrite requires 384K of memory. If additional


memory is available, it will use up to 640K. Because there are times when
you don't need all of the XyWrite functionality that is in memory, the
program automatically releases sections of code that are not in use. The
released sections are automatically reloaded when you issue commands
that require them.

NOTE #3 STARTUP.INT. If you use a standard set of customization files, you can
put the LOAD command into STARTUP.INT. Then your standard files
will be automatically loaded every time you start XyWrite.

83
Select Print Destination SETP

FORMAT ESO SETP n


n (optional) is the number of the port/printer file combination you want.
If you omit the number, the Select Printer File dialog box is displayed.
Menu E3USif.T3

PURPOSE The SETP command lets you review a list of port/printer file
combinations that are available to you, tells you which one is currently
active, and lets you select the one you want to use. When you select one
of the combinations, XyWrite automatically loads the associated printer
file.

The SETP command also runs an optional program file that is associated
with the destination or printer file you have selected (see Note #2).

There are two ways you can select a port/printer file combination with the
SETP command:
• By displaying the dialog box, then highlighting the print destination
you want and activating the Load pushbutton
• By issuing the SETP command with the number of the port/printer file
combination you want to activate

ACTION Displaying a List of Available Port/Printer File Combinations


To display a list of available port/printer file combinations:
Type: [F5]setp0
Result: The Select Printer File dialog box appears. Notice that one line is
highlighted. The highlighted line is the port/printer file combination that
XyWrite uses when you issue the PRINT command.

ACTION Selecting a Printer


To change to another port/printer file combination, type the SETP
command along with the line number of the combination you want. For
example:
Type: [F5]setp 20

Result: XyWrite directs printing to the port specified for the second line in
the Select Printer File list box, and loads the printer file specified for that
destination. XyWrite also executes the commands in NETWORK2.PRG, if
it exists (see Note #2).

84
(cont'd) SETP

NOTE #1 Print Destinations. The ports listed in the SETP menu can be local printer
ports (generally designated as 1 or 2) or network printer ports (generally
designated as LPT1, LPT2, LPT3, COMI, COM2, etc.)

NOTE #2 Assigning a Program to a Printer. You can create a program file for one or
more port/printer file combinations listed in the Select Printer File list
box. These program files must be named NETWORKn.PRG, where n is a
number from 1 to 9 that corresponds to the combination's position in the
list box. Typically, these program files contain the commands required to
download fonts to the printer, or to execute some network-specific
spooling commands.

XyWrite automatically runs the NETWORKn.PRG files, which must be


stored in a directory that is included in the path statement of your
AUTOEXEC.BAT file.

NOTE #3 LOAD vs SETP. Both the LOAD and SETP commands can be used to
load a printer file. However, the LOAD command docs not direct
XyWrite to a different port, nor does it update the list box in the Select
Printer File dialog box. We recommend that you use SETP to load printer
files if your configuration includes printers attached to different ports.

NOTE #4 PP Table. The destinations, printer files, and comments listed in the Select
Printer File dialog box are controlled by the PP table in the default file and
the ADDTBL command. See the descriptions of the ADDTBL command on
the next and "Default Settings" elsewhere in this manual for more
information.

NOTE #5 STARTUP.INT. If you usually use the same print destination, you can
put the SETP command into STARTUP.INT. Then your standard printer
information will be automatically loaded every time you start XyWrite.

85
Add Printer File ADDTBL

FORMAT mil ADDTBL portSfile.prnSnotes


port is the printer port (see Note #1).
file.prn is the printer file associated with port
notes is the description of file.prn
The three fields are separated by tabs.

MENU Not a menu item.

Purpose ADDTBL lets you add to the list of printers displayed when you issue the
SETP command or choose Printer Setup from the File menu without
modifying the PP table in the default file. ADDTBL loads the information
into memory and appends it to the end of the list of printers in the Select
Printer File dialog box.

ADDTBL is most useful in a LAN environment that has network printers


and local printers. You define network-level printers (those that are
available to all users) in a PP (Pick Printer) table in SERVER.DFL. You
define local printers with ADDTBL commands in user.LOG files. Both
SERVER.DFL and user.LOG files are set up for you during installation. If
you change printers after installation, modify the appropriate
customization file.

Action Adding a ADDTBL Command


To add a local printer for a network user:
1. Call the user's -LOG file. For example:
Type: [FSlca x:\xy4\userloqs\cit.loqfcj]

2. Go to the end of the file and add the ADDTBL command. For example,
to add a Panasonic KXP1124 dot matrix printer:
Type: BX addtbl lpttOpanl l24.prnOPanasonic dot matrix printerQ2

3. Store the file.

Result: The next time user CIT logs on, the local printer will be added to
the list of network printers displayed in the Select Printer File dialog box.

NOTE #1 Also See. Refer to "Default Settings" for information about the PP table
and to the LAN Administrator's Guide for information about network
customization files.

86
CART Load Cartridge Fonts

Format E3UCART cU2x:3.,.


cl,c2,c3 are the 1-, 2-, or 3-character abbreviations for the cartridges.
menu

Purpose CART loads font information about the specified cartridge fonts into
memory. XyWrite provides support for over 40 Hewlett-Packard (or
compatible) cartridges by storing font information in two binary font files:
LJ.BIN, LJ3.BIN, and LJ4.BIN. LJ.BIN is used with all Hewlett-Packard
LaserJet printers except the LaserJet III and LaserJet IV. LJ3-B1N is used
with the Hewlett-Packard LaserJet III family; and LJ4.BIN is used with the
Hewlett-Packard LaserJet IV.

XyWrite uses the information in the .BIN files to create the cartridge and
typeface menus; more importantly, XyWrite uses this information when it
determines line endings.

Action Loading Cartridges


To load cartridges A and GT:

1. Be sure the correct printer file is loaded.

2. Type: [Fsjcart a,gt0

Result: Font information for the A and GT (Global Text) cartridges is


loaded into memory, overwriting font information for cartridges that were
previously loaded.

NOTE #1 Number of Cartridges. The number of cartridges that can be loaded at


any given time is dictated by the number of cartridges that the printer
supports. For example, the LaserJet IIP only accepts one cartridge and the
LaserJet II accepts two cartridges.

NOTE #2 List of Cartridges. To display a list of cartridges, load the LaserJet printer
file that applies to the model of LaserJet you are using, and then activate
the Select cartridge radio button from the Printer Setup dialog box. (Press
[Mol, F, R to display the Printer Setup dialog box.)

NOTE #3 Additional Cartridges. The LJ.BIN, LJ3.BIN, and LJ4.B1N files support a
wide range of HP LaserJet and compatible cartridges. However, new
cartridges are introduced regularly. If you want to use a cartridge that is
not currently supported, use the TFMADD program to add the cartridge's
font information to LJ.BIN, LJ3.BIN, or LJ4.B1N. TFMADD is a utility that

87
CART (cont'd)

extracts font information from the Tagged Font Metric files which are
supplied with the cartridges and appends it to the .BIN file you specify.
For information on how to use TFMADD, refer to the README.PRN file
supplied with XyWrite.

NOTE #4 STARTUP.INT. If you standardly use a particular set of cartridges, you


can put the CART command into STARTUP.INT. Then the cartridge
information will be automatically loaded every time you start XyWrite.
The CART command must be issued after the printer file is loaded; that
means you should put the CART command after the SETP command.

88
Menu, Dialog Box, and Help Files

INTRO You can modify XY4.MNU, XY4.DLG, and XY4.HLP, the menu, dialog
box, and help files delivered with XyWrite or you can construct your own
menu, dialog box, or help file. This section describes the various
components of XY4.MNU, XY4.DLG, and XY4.HLP and discusses
customizing them by adding, deleting, or rearranging information.

Contents p-w section


91 Menu, Dialog Box, and Help Files
92 Menu, Dialog Box, and Help File Frames
93 Keyword Labels
93 Keywords
94 Indicating the Entry Point to the Menus
95 Linking Frames
95 JD (Jump to Dialog Box) Command
95 JM (Jump to Menu) Function Call
96 JH Qump to Help) Function Call
97 Including Comments in a Menu, Dialog Box, or Help File
97 Keyword Label
98 Displaying a Menu Bar
98 Keyword Label
98 Displayable Lines
100 Creating a Pull-Down Menu
100 Keyword Label
100 Displayable Lines
100 Display Symbols
102 Cascading Menus
103 Creating a Dialog Box
105 Keyword Label
105 Dialog Box Specifications
106 Displayable Lines
108 Positioning Items in a Dialog Box
109 Executable Lines
111 Displaying Fixed Text
112 Displaying a Text Entry Field
113 Using Radio Buttons in a Dialog Box
114 Using Check Boxes in a Dialog Box
114 Using Pushbuttons in a Dialog Box
115 Using Scrollable Lists in a Dialog Box
118 Grouping Items in a Dialog Box
118 Dimming or Automatically Selecting Dialog Box Items
119 Validating Text Entry
122 Using One Control to Affect Another

8?
Menu, Dialog Box and Help Files (cont'd)

Page Section
124 Executing a Routine
124 Keyword Labe!
124 Displayable Lines
124 Executable Lines
125 Positioning Dialog Box and Help Screens
126 Using Accelerator Characters
126 Menu Bar and Pull-Down Menus
126 Dialog Boxes
127 Keyboard File
128 Providing Context-Sensitive Help Screens
128 Help Pushbuttons
128 Dialog Box Items
129 Pull-Down Menus and Other Screens
129 Command Markers
131 Displaying a Scrollable Help Screen
131 Keyword Label
131 Displayable Lines
133 Including Text in Screen Borders
134 Displaying Detailed Explanations of Error Messages
134 Keyword Label
134 Displayable Lines
135 Testing Dialog Boxes and Help Frames
135 ?m and ?h Test Commands
135 The QH (Quick Help) Function Call
135 The QP (Quick Print) Function Call
136 Accessing a Menu Screen with One Keystroke
137 Accessing a Help Screen with One Keystroke
138 Loading Menu, Dialog Box, and Help Files

Appendix D, "Reserved XyWrite Elements," lists ID numbers, keywords,


and macros reserved for use by XyWrite.

90
Menu, Dialog Box, and Help Files

Purpose A menu, dialog box, or help file is a text file that can be created or edited
as you edit any other text file. However, the first line of the file must
contain a specific 4-character label to tell the LOAD command what kind
of file it is:
;MN; indicates a menu file
;DG; indicates a dialog box file
;HL; indicates a help file

You can include formatting commands on the second line of the file to
control the way text is arranged when displayed on the screen.

After the formatting commands, menu, dialog box, and help files may
have several comment lines. You can add as many comment lines as you
want to describe such things as the contents of the file or any changes
you've made to the file. (Refer to "Including Comments in a Menu, Dialog
Box, or Help File" for a way to enter your notes.)

Following any comment lines, menu, dialog box, and help files consist of
sections or frames that XyWrite uses to construct and operate each menu,
dialog box, or help screen.

91
Menu, Dialog Box, and Help File Frames

Intro Each frame in a menu, dialog box, or help file designates the information
XyWrite displays on a screen at a time. Menu frames may contain
commands or programs the user can initiate from the screen.

In general, menu screens and dialog boxes enable the user to perform
some task. There are several different frame types you can use depending
on the way you want the menu screen to function. XY4.MNU and
XY4.DLG contain the following frame types:
0 displays a menu bar
L displays a pull-down or side menu
K displays a dialog box
5 executes a routine
M indicates a comment

Types 0, L, and K display information on the screen; Types 5 and M are


invisible to the user. XY4.DLG also contains Types C and 6 frame types,
which are specially dedicated to perform specific tasks and are not
applicable to genera) uses.

In general, help screens provide information to the user. XY4.HLP


contains the following frame types:
C displays a scrollable help screen
9 provides access to detailed error messages

(XY4.HLP also includes some "routine only" Type 5 frames, which


initialize some variables before moving to a help frame.)

Although menu, dialog box, and help frames have different uses, they
have the same basic construction. Every frame starts with a label enclosed
in a pair of double curly braces {{}}. A frame begins at the label and ends
at the next label (wrhich signals the beginning of the next frame).

Following the label, frames may have one or more displayable lines.
Displayable lines contain text that appears when the user accesses the help
or menu screen.

Following the label or any displayable lines, frames may have one or more
executable lines. Executable lines are not displayed on the screen. They
contain commands or programs and their content depends on the function
you want the frame to perform.

The various types of frames are described throughout this section based
on their functions (such as displaying a menu bar and displaying a
scrollable help screen).

92
(cont'd) Menu, Dialog Box, and Help File Frames

Although frames are not listed in any particular order within a menu,
dialog box, or help file, XyWrite can quickly find the topic on which the
user requested information. Refer to "Loading Menu and Help Files" for
more information on what happens to a menu, dialog box, or help file
when it is loaded into memory.

Keyword Labels
The keyword label identifies the frame to XyWrite and allows you to link
the various types of menu and help frames. Frame labels have the
following format:
{{#,keyword!,keyword2,.. .}}«-

# indicates the frame type. You enter the letter (K, L, M, or C) or the
number (0,5,6, or 9) that corresponds to the frame type you want to use.
Frame types and their functions are described in sections throughout this
document.

keyword is the name by which the frame can be accessed. Appendix D lists
keywords reserved for use by XyWrite.

Keywords
One or more keywords in the label indicate the way(s) the frame can be
accessed. In general, there is no limit to the length of a keyword; however,
shorter keywords take up less memory.

For example, the following label with the keyword FileOpen designates the
beginning of a Type K frame:
{{K.FileOpen}}*-

A1 though shorter keywords are preferable, a keyword can contain two or


more words separated by a single space.

If you include several keywords (separated by commas) in a label, the


frame can be accessed by different names. For example, the following
Type 5 label provides access to the frame in two ways:
{{5,Cut,Sh Del}}<-

Keywords can be either upper- or lowercase letters (or any mix); they are
not case sensitive.

Keywords also link frames together, which enables the user to move
directly from one task or topic to another. Refer to "Linking Frames" for
more information.

93
Menu, Dialog Box, and Help File Frames (cont'd)

Indicating the Entry Point to the Menus


IN is a special keyword you use to indicate the frame you want displayed
when the user presses [Fio] to activate the menus.

In XY4.MNU, the entry point is the Type 0 (zero) frame that produces the
menu bar. The keyword label for the menu bar is:
{{O.ln}}*-

In XY4.HLP, the entry point is a Type 5 frame that tests whether the user
is requesting help for menus or for the command line. The keyword label
for the Type 5 frame is:

94
Linking Frames

Intro Three things you will find useful to link frames in a file are the JD (Jump
to Dialog Box) command, the JM (Jump to Menu) function call, and the JH
(Jump to Help) function call.

JD Jump to Dialog Box) Command


JD jumps to the frame with the specified keyword and has the following
form:
JD keyword

keyword is the keyword of the frame you want execution to jump to.

All execution in the menu takes place by passing from one menu frame to
another. The menu bar is the entry point to the menus. When the user
selects an item from the menu bar, a pull-down menu (Type L frame)
appears. The JD (Jump to Dialog Box) command links the Type L frame to
the Type 0 frame.

For example, the following line in a Type 0 menu frame causes execution
to move to the menu frame with the keyword MBFile when the user
selects "File" from the menu bar:
&File « JDMBFile»

In the Menu file, you can also use JD to link a Type L to another Type L or
a Type 5. In the help file, you can use JD to link Type C frames.

For example, the following line in a Type L menu frame causes execution
to move to the menu frame with the keyword New when the user selects
"New" from the pull-down menu:
&New...« JDNew»,Create a new file*-

JM (Jump to Menu) Function Call


The JM function call jumps to the menu frame with the specified keyword
and is used to control the program flow from one dialog box to the next.

JM has the form:


JM (keyword)

keyword is the keyword of the frame where you want execution to


continue. (Parentheses are required around the keyword.)

95
Linking Frames (cont'd)

For example, the following Type 5 frame clears macros 1001 and 1002 and
then jumps to another menu frame with the keyword NewA;
{{5,New}}
B«SV1001,» «SV1002,» JM (NewA)fl«-

JM is also useful in XPL programs to create subroutines. Refer to the


discussion of Executable Lines in "Creating a Dialog Box" for more
information.

JH (Jump to Help) Function Call


You use the JH function call in the Menu file to display the frame that
resides in the help file with the specified keyword.

JH has the form:


JH (keyword)

keyword is the keyword of the help frame. (Parentheses are required


around the keyword.)

For example, the following Type 5 frame jumps to a Type C help frame
with the keyword GenHlp that resides in the currently loaded help file:
{{5,GHelp}}«-
BJH (GenHlp)B^

96
Including Comments in a Menu, Dialog Box, or Help File

Intro You can use a Type M frame to describe such things as the contents of the
file, the contents of a frame, or any changes you've made to the file. You
can enter as many lines as you want, since Type M frames are not loaded
into memory. Type M frames are also useful when you are testing a menu
file, because you can disable one or more frames by changing them to
Type M frames.

Keyword Label
The first line of a Type M frame contains the keyword label (M enclosed in
a pair of double curly braces {{}}). Unlike other frame types, a Type M
frame label does not require a keyword. However, in XY4.MNU and
XY4.DLG, all comment frames have the keyword Comment for legibility.

For example, the following is one of the comment lines in XY4.DLG:


{{M,comment}}
################# GLOBAL SUBROUTINES #################«-

You can find other examples in XY4.DLG, where comment frames are
used to annotate the functions of various frames.

97
Displaying a Menu Bar

You use a Type 0 (zero) frame to display a menu bar that lists the
categories of the various available options. When the user presses [Ftol,
XyWrite constructs the menu from the information in the Type 0 frame
and displays the menu horizontally across the top of the screen.

Keyword Label
The first line of a Type 0 frame contains the label (0, followed by one or
more keywords) enclosed in a pair of double curly braces {{}}.

Since the Type 0 frame in XY4.MNU is the entry point to the Menu facility,
it has the special keyword !N.

Displayable Lines
After the keyword label, each subsequent line of a Type 0 frame contains
the number of extra spaces you want between the menu names on the
menu bar, the menu name you want displayed in the menu bar, a JD
(Jump to Dialog Box) command to link the execution of the menu item to
another screen type, and a comma. You can add a string of text you want
XyWrite to display on the status line when the user highlights the
keyword in the menu.

NOTE Length of Menu Names. The menu bar must fit on a single line, across the
width of the screen. Therefore, when choosing your menu names and
spacing, make sure the total number of characters and spaces does not
exceed 80.

XyWrite enters menu names in the menu bar in the same order they
appear in the Type 0 frame.

For example, the following frame in XY4.MNU creates the menu bar. The
label indicates a Type 0 frame that is the entry point to the menus (!N).
{{0,!n}}<-
AFile « JDMBFile»
SEdit « JDMBEdit» ,*•
&View « JDMBView>»
For&mat « JDMBFormat» ,*■
&Proof « JDMBProof»
SOptions « JDMBOptions»
SAdvanced « JDMBAdvanced »
&Window « JDMBWindow»
&Help « JDMBHelp»

98
(cont'd) Displaying a Menu Bar

When the user chooses an item in the menu bar, execution moves to the
menu frame indicated by the JD command.

The ampersands in the keywords indicate the accelerator keys; they do not
appear on the menu bar. Refer to "Using Accelerator Characters in Menu
Screens" for more information.

99
Creating a Pull-Down Menu

Intro You use a Type L frame to display a pull-down menu that lists the various
options available for a particular menu bar item. When the user places the
cursor on an item in the menu bar, XyWrite displays the pull-down menu
directly below it. XyWrite constructs the pull-down menu from the
information in the Type L frame.

Keyword Label
The first line of a Type L frame contains the keyword label (L, followed by
one or more keywords) enclosed in a pair of double curly braces (()}. The
keyword must correspond to a menu name in the Type 0 frame associated
with the pull-down menu.

Displayable Lines
After the keyword label, each subsequent line of a Type L frame contains a
display symbol, the text and spacing you want displayed in the menu, a
JD (Jump to Dialog Box) command to link the execution of the menu item
to another screen type, a comma, and the descriptive text you want
displayed on the status line whenever the user highlights the keyword on
the menu.

NOTE Length of Displayable Lines. A displayable line is limited to 32


characters up to the comma in the syntax. For each keyword this includes
any accelerator keys, the «JDkeyword» command, and spaces. Any
descriptive text to be displayed on the status line when the user highlights
the keyword is not included in the 32-character limitation.

A pull-down menu can be as long as you want to make it; however,


XyWrite displays only the first 22 or 24 lines, depending on the placement
of screen elements, such as ruler, menu bar, command line, etc. The user
can scroll down to view any additional items.

XyWrite enters keywords in the pull-down menu in the same order they
appear in the Type L frame.

Display Symbols
You can use one or more of the following symbols in a Type L menu frame
to control the display of the menu screen:
& indicates the accelerator key (refer to "Using Accelerator
Characters in Menu Screens" for more information).
= dims the menu item if the current window is empty, contains a
read-only directory, or a read-only file or a form. (The item is
not dimmed if a read/write file is displayed.) To enter =, press
[c^fc-1240.

100
(cont'd) Creating a Pull-Down Menu

e dims the menu item if the current window is empty (not used
for a directory or a file). To enter character e, press Icwl [Aii]238.
< dims the menu item under all conditions. To enter character :::
press fciril [Alt] 176.
"V adds a ♦ to the item in the displayed pull-down menu if the
indicated condition is true. To enter character v, press [ciri][Aifl251.

In Type L menu frames, you can have XyWrite test existing conditions and
adjust the information it displays in the pull-down menu depending on
the outcome of the tests. You precede the displayable text with a series of
statements, each separated by a vertical bar (I). For example:
statement) I statement21 statement..., description*-

XyWrite reads lines in Type L frames from left to right and evaluates any
conditions it encounters. If the condition is true, XyWrite executes the
next statement; if the condition is false, XyWrite skips to the next
statement.

For example, the following Type L frame from XY4.MNU is displayed


when the user selects "Spell" from the Proof pull-down menu.
{{L.CCSpell}}*-
&Personal Dict...« JDLdDict»,Load or edit personal dictionaries*-
= l&Main Dict...«JDMainDictAA»,Use a main dictionary*-
«VA$AC»==1I’Vl&Auto-Check AltF7«JDAutoCheck»,Spell-check
words as you type...<-
&Batch Spell...«JDBatSpChk»,Spell-check a series of files*-

If the user selects "Personal Diet," execution moves to the menu frame
with the keyword LdDict. If the current window is empty, contains a
read-only directory, a read-only file or a form, XyWrite dims "Main Diet"
in the pull-down menu.

The long horizontal line separates "Personal Diet" and "Main Diet" from
"Auto-Check" and "Batch Spell" and the :::• ensures that it cannot be
selected. If Auto- Check is on, XyWrite displays a ♦ next to "Auto­
Check." If the user selects "Batch Spell," execution moves to the menu
frame with the keyword BatSpChk.

When the user places the cursor on an item in the pull-down menu,
XyWrite displays on the status line the descriptive text you associated
with that item's keyword in the menu file. "Personal Diet," "Main Diet,"
"Auto-Check," and "Batch Spell" can be accessed by pressing accelerator
keys P, M, A, or B, respectively.
101
Creating a Pull-Down Menu (cont'd)

Cascading Menus
You can create a pull-down menu that "cascades" from another pull­
down menu, that looks like this:

To do this, precede the JD command with an ASCII character 16 (►). For


example, the following displayable line in a Type L menu frame enables
the cascading menu in the previous example to work:

= l£Hyphenation ► «JDCCHyphn» .Control hyphenation


When the user selects "Hyphenation" from the Proof menu, XyWrite
displays another Type L menu screen with the keyword CCHyphn.

102
Creating a Dialog Box

You use a Type K frame in a menu file to create a general-purpose dialog


box. The resulting dialog box emulates a Microsoft Windows dialog box
with features such as radio buttons, check boxes, scrollable lists and
directories, horizontally scrollable fields, etc.

For example, the following Type K frame appears in XY4.DLG and has
many of the features described throughout this document:

<<KjOpenB>>* -------------------- Keyword Label


1 1 12 2 56 17 ---------------------------------- (OpenB-X )— Dialog Box
tx 100 2 0 30 1 «U8O1810»- Specifications
tb« 101 3 ♦2 25 1 -UfiB1081«l<3>4>»«-
tx IBS 2 ♦2 14 1 Failes’
If s 2 ♦2 14 8 *
tx 106 ♦ 17 4 15 1 aDlreclories*
Id 6 ♦ ♦2 14 8
tx 102 3 ♦9 18 1 Current Path:’
tc 98 ♦20 ♦ 20 1 -UftSP'.” ___ Displayable
tx 187 3 ♦1 20 1 FornaV’ Lines
tc 188 ♦20 ♦ 28 1 •0001201”
dp 1 <18 1 14 1 OK-
pb 3 ♦ ♦2 ♦ 1 arind...-
pb 4 ♦ •2 ♦ 1 aOptlons,<
pb 2 4 ♦2 ♦ 1 Cancel-
pb 62 ♦ ♦2 ♦ 1 Help-
cb 184 -1 ♦3 12 1 JRead Only «UftO1004*=’"R"t -
e«LB-OK»«SU1805lOpenB*‘SX100119UPR("zl01")—SU1084.zl04*BX EXIST «PU1801»
QZ -IF(*ER-)*-SX40,'.... •Un<?1001»"" not found."•«SX4S,3S«
JH (CenterHess)«SX11991‘'IS40*»JH (FHeHotFound)«EX—
-EI-JH (OpenC)*EX—
B-LB-Cancel—EX— ___ Executable
B-LB-Flnd*-SX1801)ouPR(,‘zl01")—SU1004,zlB4*«SU188S,OpenB*JI1 (OpenFind)«EX»- Lines
a-LB-Optlons»-SX1081|OUPH("zl01")—SU188S,OpenB»Jtl (OpOptl'EX—
O-SU40,Z101»«SU42, OPEH-CT1802—EX—
QBX (dlrzpazna/up)«EX—

Type K menu frames consist of four basic parts: the keyword label, dialog
box specifications, displayable lines, and executable lines.
The keyword label is similar to those used for other type menu frames.
The line following the keyword label contains dialog box specifications for
the size and placement of the dialog box as well as any text you want
displayed as a title.
Displayable lines indicate the various items you want to appear in the
dialog box and their size and placement. For example, you can include
fixed text, a field for entering text, radio buttons, check boxes,
pushbuttons, and scrollable lists. Displayable lines also can:
• indicate the tab order, that is, the order in which the user moves
through the items in the dialog box

103
Creating a Dialog Box (cont'd)

• indicate how the items appear when the dialog box is displayed
• have XyWrite dim an item under certain conditions
• have XyWrite verify that the information entered is valid for the
function being performed
• indicate shortcuts, called accelerator characters, so the user can move
directly to an item by pressing a key
• assign values and conditions that affect other items in the dialog box

Executable lines all begin with either an ASCII character 2 (0) or an ASCII
character 1 (g) to indicate the start of an XPL (XyWrite Programming
Language) program. They are associated with items in the dialog box and
perform the task indicated. You can pass information the user enters into
various dialog box items to executable lines.

The memory requirements for the executable lines of a Type K menu


frame are limited to approximately 3K - 10K, depending on the amount of
memory used by the currently loaded set of macros.

You can test dialog boxes quickly while you are creating or editing them
without saving and reloading the menu. To do this, position the cursor in
the frame you want to test and press [Cvi] |ah| IsnmlQ. XyWrite immediately
displays the associated screen.

For more information refer to 'Testing Dialog Boxes and Help Frames."

The Type K menu frame shown above produces the following dialog box:

104
(cont'd) Creating a Dialog Box

The user presses [Tab] to move through any dialog box from item to item (or
Ishihl fTab] to move backward from item to item). Cursor keys only move the
cursor within fields. When the last (or first) item is reached, the cursor
moves through the list again. Alternatively, the user can press an
accelerator key to move directly to a specific field.

When the user puts the cursor on an item in a dialog box and presses [FT],
XyWrite displays the information for the specific item. Refer to
"Providing Context-Sensitive Help Screens" for more information.

Keyword Label
The first line of a Type K menu frame contains the keyword label (K,
followed by one or more keywords) enclosed in a pair of double curly
braces (()). In general, there is no limit to the length of a keyword;
however, shorter keywords take up less memory.

NOTE Illegal Characters. You cannot use ASCII characters 174 («) or 175 (») in
keywords; they cannot be accessed with the JM (Jump to Menu) function
call.

If you plan to provide on-line help for a dialog box, the keyword for the
dialog box cannot end with a number (for example, OPEN2).

Dialog Box Specifications


Dialog box specifications determine the size of the dialog box, its
placement on the screen, and the title that you want to appear in its top
border.

Dialog box specifications appear on the second line of a Type K frame in


the following form. The four fields must be separated by tabs.
scale placement size title

scale values indicate the factors by which you want XyWrite to scale the
numbers you enter to indicate horizontal and vertical units. By specifying
values of 1 and 1 for the scale argument, you can enter values for x and y
coordinates in one character units and one line units, respectively.
Microsoft Windows requires 4 horizontal units and 10 vertical units per
character. Therefore, if you import dialog boxes from Microsoft Windows,
specify values of 4 and 10 for the scale argument.

placement values are x and y coordinates to indicate the location of the


upper left corner of the dialog box from the left and top edges of the
screen.

105
Creating a Dialog Box (cont'd)

size values are x and y coordinates to indicate the width and height of the
dialog box.

title indicates the title you want to appear in the upper left corner of the
dialog box border.

For example, in the following dialog box the scale values are 1 and 1,
placement values are 12 and 2, size values are 56 and 17, and the title is
Open:
1 1 12 2 56 17 Open

The specifications in the above example produce a dialog box 56


characters wide and 17 lines high. Its upper left comer is located 12
characters from the left edge of the screen and 2 lines down from the top
edge.

TIP Use the Tab Settings Command. Since you must use tabs to separate the
various values in the dialog box specifications and in the displayable lines,
use the TS (Tab Settings) command to make the columns readable. You
can enter the TS command immediately before the Type K keyword label.

Displayable Lines
The third and subsequent lines of the Type K frame determine the various
items you want to appear in the dialog box and their placement and have
the following form. The fields for the displayable lines must be separated
by tabs.
control ID location size text option

control indicates one of the control codes that determines the type of dialog
box item. The available codes are:
TX Text (fixed)
TC Text changing (updated by XyWrite; not editable by user)
TB Text box (editable)
RB Radio button
CB Check box
PB Pushbutton
DP Default pushbutton
LF List files
LD List directories and drives
LB List box
GB Group box
(Each of these controls is described in a separate section below.)

106
(cont'd) Creating a Dialog Box

A Type K menu frame can have up to 32 controls, including the dialog box
itself. XyWrite counts the dialog box specification as one control and a
group of radio buttons as one control. XyWrite does not count TX (Fixed
text) or GB (Group box) controls.
To indicate where you want the cursor located when XyWrite first
displays the dialog box, put an asterisk immediately after one control
code; for example tb*.
Any line that begins with a semicolon is a comment - it has no effect on
dialog box items.
You use a different line for each control you want to include in the dialog
box. The order in which the controls appear in the frame determines the
tab order or the order in which the user can move the cursor from item to
item, by pressing [Tab], when the dialog box is displayed. If you want to
rearrange the tab order, you simply rearrange the lines in the menu frame.

ID indicates the number you assign to each control code. Each number
must be unique within the menu frame; however, the numbers can be in
any sequence. You can correspond these numbers directly to programs
XyWrite runs when the user selects a pushbutton. (See "Executable
Lines," below.) Since you normally would not correspond fixed text to a
program, it is not necessary to assign ID numbers to TX controls, but it is
helpful so you can tell which dialog box items overlap.

NOTE Reserved ID Numbers. XyWrite reserves certain ID numbers for special


features. Refer to Appendix D for more information.

location values are x and y coordinates to indicate the location of the item
in relation to the upper left corner of the dialog box. You can use either a
plus sign (+) or a minus sign (-) to specify relative locations. See
"Positioning Items in a Dialog Box" for more information.

size contains x and y coordinates to indicate the width and height of the
item (text, text box, pushbutton, check box, list box, etc.). To save time,
you can reuse the value above it by including a plus sign (+) for the width
and/or height.

text specifies the text or the initial value displayed next to (or within) the
item in the dialog box. You can use the VA (Value of Variable) command
when you want to include the current value of a XyWrite variable in the
text. For example, when the dialog box is displayed, XyWrite includes the
name of the current drive and path in the text after the word, "Current
path."
tx 102 + +20 100 12 Current path: «VA$pa»
107
Creating a Dialog Box (cont'd)

You can also use the text argument to have XyWrite verify that the
information entered in a text box (TB) is valid for the function being
performed. Refer to "Validating Text Entry" for more information.

option has many uses: you can select a radio button or a check box
automatically when the dialog box is displayed; dim an item in the dialog
box; and include conditional statements to perform these tasks. Indicating
default check boxes and radio buttons are described in their respective
sections. Refer to "Dimming or Checking Dialog Box Items" for more
information.

Positioning Items in a Dialog Box


You position items in a dialog box by specifying their coordinates. You
specify horizontal coordinates in characters and vertical coordinates in
lines. If you are using a scale of 1 x 1, the allowable coordinate values are
1-80 (horizontal) and 1 to 22 (vertical).

You specify location coordinates in relation to the upper left comer of the
dialog box. (Prefacing a location coordinate with a < character indicates
that you want to place the item in relation to the right border of the dialog
box.)

NOTE Radio Button Positions. XyWrite positions radio buttons one line apart,
regardless of what you specify as a vertical coordinate. You cannot
position radio buttons side by side.

To use absolute locations, type the exact coordinates where you want the
items placed. For example, the following line positions a block of fixed
text (ID number 102) 2 characters in from the left border of the dialog box
and 1 line down from the top border. The text, "Example 1," is one line of
up to 20 characters long.
tx 102 2 1 20 1 Example 1

To use relative locations, type the coordinate as you want the item to
appear in relation to the preceding coordinate, using either a plus sign (+)
or a minus sign (-).

For example, the first control line functions as described above; the second
control line positions a text box (ID number 102) 3 characters in from the
left border of the dialog box and 3 lines down from the top border. The
text box is one line, 22 characters long and is initially displayed containing
the name of the current file.
lx 102 2 1 20 1 Example 1
tb 103 +1 +2 22 1 «VA$fi»

108
(cont'd) Creating a Dialog Box

Tip Use Relative Locations. It is much easier to redesign a dialog box with
relative locations, because you need only change one number to move a
column of items.

NOTE Item's Position May Change. The position of the item will change if you
use relative positions and you rearrange the lines in the menu frame to
change the tab order.

In order to have items line up vertically, specify either +0 or + as the


horizontal coordinate. For example, the following control lines vertically
align two radio buttons under a block of fixed text that is 12 characters in
from the left border and 2 lines down from the top:
tx 102 12 2 20 1 Example 2
rb 103 + +1 10 1 ODD
rb 104 + +1 + 1 EVEN

Notice that the second radio button (ID number 104) is also 10 characters
wide as specified by the + in the width size coordinate.

As another example, the following control lines vertically align two


pushbuttons, starting 12 characters in from the right side of the dialog box:
dp 1 <12 1 10 + &OK
pb 2 + +2 + + &Cancel

Executable Lines
Following the list of control codes and placement information, ASCII
character 2 (S) or ASCII character 1 (@) indicate an executable line. Either
character indicates the start of an XPL (XyWrite Programming Language)
program; however, an ASCII character 1 (@) executes the program without
removing the dialog box from the screen.

You must have an ASCII character 1 or an ASCII character 2 for each


pushbutton you include in the dialog box.

NOTE ASCII Character 1 Programs. ASCII character 1 programs are useful in


limited situations. One application is to refresh the contents of list files in
a dialog box. For example, the following two lines in a Type K menu frame
display a directory of filenames and a directory of paths in list boxes. The
ASCII character 1 at the start of both lines enables the directories to be
updated without removing the dialog box from the screen:
®BX (dir/fi/na %101)«EX»
©BX (dir/pa/na)«EX»

109
Creating a Dialog Box (cont'd)

Four things you will find useful in executable lines are passing
information to XPL programs, the BX (Blind Execute) function call, the JM
(Jump to Menu) function call, and checking unchanged fields.

Passing Information to XPL Programs. You can use information from


dialog box items in your XPL programs by prefacing the item's ID number
with a %. If the ID number corresponds to a list box, the text the user
highlights with the cursor is accessed by the program.

For example, the following produces a directory based on the path the
user enters in the text box that has ID number 101:
@BX (dir/fi/na %101)« EX»

BX (Blind Execute) Function Call. The BX function call executes a


command from within a program without moving the cursor to or
clearing the command line. If the command and any arguments are
enclosed in parentheses (), square brackets [ ], or curly braces {), XyWrite
executes the command automatically. For example:
BX (ca fest)

If they are not so enclosed, you must use the Q2 (Execute Too) function
call with the BX function call to execute the command. Q2 is useful for
executing a command string that may contain parentheses, square
brackets, or curly braces. For example:
BX ca lestQ2

NOTE Illegal Characters. You cannot use angle brackets < > to enclose a
command specified by the BX command.

JM (Jump to Menu) Function Call. The JM function call jumps to the


menu frame with the specified keyword and is very useful in XPL
programs in three ways:
• To control the program flow from one dialog box to the next
• To jump back to the same dialog box if a condition is not satisfied
• To call a subroutine; for example, to establish initial conditions for the
program

JM has the form:


JM(fceyawd)

keyword is the keyword of the frame or subroutine

110
(cont'd) Creating a Dialog Box

NOTE The Exit Command. An EXIT command «EX» in the subroutine causes
execution to return to the main program and resume.

for example, the following code jumps to a subroutine named SETNW3,


calls a file the user specifies in a text box (ID 101), and jumps to another
subroutine named RESTORENW:
JM(SETNW3) BX(call %1O1) JM(RESTORENW)

The subroutines are included in the same menu file in Type 5 frames. For
example:
{{5.SETNW3})
a«SX70,«VA$NW»» BX(d nw=3)«EX»

{{5, RESTORENW}}
SBX(d nw=«PV70»)«EX»

Checking Unchanged Fields. You can use the HF command in the


program to direct XyWrite to execute portions of the program only if a
particular field has changed. For example, if the user does not change the
entry displayed in a text box, XyWrite skips that part of the program from
the HF command to the El (End If) command that follows.

HF has the form:


« H Fid » act ion « EI»

id is the number of the control code for the item (usually a text box or a
check box) that you want to determine is changed.

action is one or more commands you want executed if the item is changed.

For example, in the following routine execution moves to the label,


"-Changed" if the user has changed the text box with ID 100; otherwise,
execution jumps to the menu frame with the keyword PrSettings:
B«HF100»«GL-Changed»«EI»JM (PrSettings)«EX»

Displaying Fixed Text


There are two controls to display fixed text in a dialog box: TX and TC.

You use the TX (Text) control code to indicate a line of fixed text that is
always displayed in the dialog box. In the text argument, you can specify

111
Creating a Dialog Box (cont'd)

up to 400 characters per TX control code. To have XyWrite automatically


calculate the width of the item based on the width of the text, enter the @
character when specifying a width for the size argument.

When the text is displayed in the dialog box, the user cannot move the
cursor to it.

For example, the following line in a Type K menu frame produces a line of
fixed text that contains the words, "PRINT FILE:''
tx 100 2 1 @1 PRINTFILE

You use the TC (Text Changing) control code to indicate a line of fixed text
that XyWrite can update to reflect changing conditions. When the text is
displayed in the dialog box, the user cannot select it; however, whenever a
change occurs, the information is immediately updated to reflect the
change.

For example, the following line in a Type K menu frame displays the
current path name. When the current path changes, the dialog box
immediately displays the new path.
tc 107 +90 + 70 12 «VA$pa»

Displaying a Text Entry Field


You use the TB (Text Box) control code to include a field into which the
user can enter text. The user can select the displayed field either by
pressing |Tab| or by using the mouse. XyWrite includes any text you
specified in the control line when the dialog box is displayed. This text is
automatically erased when the user starts typing in the first character
position. However, if the user presses a cursor key first, XyWrite does not
erase text when the user starts typing.

You can have XyWrite validate the text the user enters into the field. See
"Validating Text Entry" for more information.

NOTE Specifying Text Box Locations. XyWrite uses square brackets to display
the borders of a text box; for example, [This is a text box ]. However, it
does not include the square brackets when calculating the item's location
coordinates. Therefore, when specifying location coordinates for text
boxes, add one extra space to compensate for the left square bracket. (See
the example on specifying relative locations in "Positioning Items in a
Dialog Box.")

112
(cont'd) Creating a Dialog Box

For example, the following line in a Type K menu frame produces a text
box that contains the name of the current file:
tb 101 +1 +2 22 1 «VA$fi»

You can assign an accelerator key to a text box by preceding it with a TX


(Text) control that has an accelerator key. Including an accelerator
character in a TX control line forces the cursor to move to the next item
when the dialog box is displayed and the accelerator key is pressed. Refer
to “Using Accelerator Characters in Menu Screens" for more information.

Using Radio Buttons in a Dialog Box


A group of radio buttons covers all possibilities of a task. Radio buttons
are like the buttons on a car radio - when one is pushed in, another pops
out - they indicate items that are mutually exclusive.

Radio buttons may be organized into more than one group. The user must
select one/or each group in order to execute the dialog box. However, only
one button in the set can be selected at a time.

You use the RB (Radio Button) control code to include radio buttons in a
dialog box. Consecutive RB control codes form a set from which only one
can be selected at one time.

For example, the following line in a Type K menu frame produces a set of
radio buttons that enables the user to choose ALL, EVEN, or ODD:
rb 103 12 +1 10 1 ALL
rb 104 + +1 + 1 EVEN
rb 105 + +1 + 1 ODD

Enter ASCII character 251 as the option argument (after the text) to indicate
the radio button that is automatically selected when the dialog box is
displayed. To enter the character, type Iciiil®251. You can also include a
conditional statement to select the radio button depending on the current
environment.

For example, the following line in a Type K menu frame selects radio
button 3 if the display is draft view:
rb 3 +5 +12 40 12 Button &1 «VA$dt»==1 N

When XyWrite displays the dialog box, it indicates the selected radio
button setting with an asterisk.

113
Creating a Dialog Box (cont'd)

Using Check Boxes in a Dialog Box


You use the CB (Check Box) control code to include a box the user can
tum either on or off; it is equivalent to having the user type "Yes" or "No"
to indicate a choice. You can have one or more check boxes in a dialog
box; however, usually you would not group them.

For example, the following line in a Type K menu frame produces a check
box that enables the user to choose to print only the selected block:
cb 107 12 + 25 1 &Print selected block

The user presses I Spaceball to turn any check box on or off. XyWrite displays
an "X" to indicate an activated check box.

Enter ASCII character 251 as the option argument (after the text) to indicate
that a check box is automatically selected when XyWrite first displays the
dialog box. To enter the character, press [ait] |m|251 . You can also include a
conditional statement to select the check box depending on the current
environment.

For example, the following line in a Type K menu frame produces check
box that is preselected if macro 1002 contains an "R"
cb 107 -1 +3 11 1 SRead Only «VA@1002»=="R’l^

Using Pushbuttons in a Dialog Box


Pushbuttons represent choices associated with procedures or execution;
they begin or apply the action. Every XyWrite dialog box has at least one
pushbutton.

You use the PB (Pushbutton) control code to include a pushbutton in a


dialog box; you use the DP (Default Pushbutton) control code to include
the default pushbutton. XyWrite displays the default pushbutton with a
double angle bracket (« »). In XyWrite, the OK pushbutton is usually
the default.

You include one XPL program for each pushbutton. The pushbutton with
ID 1 runs the XPL program designated by the first ASCII character 2 (B) or
ASCII character 1 (g); the pushbutton with ID 2 runs the second, etc.

There are several predefined pushbuttons you can use; for example, "OK"
has 1 as an ID number and "CANCEL" has 2 as an ID number. ID
numbers 50 and over are reserved for special functions — they do not
(cont'd) Creating a Dialog Box

correspond to an XPL program, but perform a function automatically. For


example, "HELP" has 62 as an ID number and displays a help screen
when the user selects it. Refer to Appendix D for a full list.

For example, the following lines in a Type K menu frame include a default
pushbutton (OK) and a CANCEL pushbutton in the dialog box:
dp 1 40 1 10 1 OK
pb 2 + +2 + + Cancel

Using Scrollable Lists in a Dialog Box


You can include three types of scrollable lists in a Type K menu frame:
• Files only
• Drives and Directories
• Any words you specify

You use the LF (List Files) control code to list all the files in a directory.

You use the LD (List Drives and Directories) control code to list all the
drives available on your computerand directories available from the
current directory. The user can select a drive by moving the cursor to a
specific drive in the list and pressing 0- If there is an asterisk (*) in the text
box when the user executes the OK pushbutton, XyWrite displays a
directory of the selected drive rather than execute the program associated
with the first pushbutton.

For example, in the following Type K frame, the text box (ID 101) contains
*.* to produce a list of files. If the user selects an item from the List Files
Box (ID 105), XyWrite updates the contents of the text box with the
selected information. If the text box contains a wild card and if the user
selects the OK pushbutton (ID 1), XyWrite builds a new directory using
that specification.

115
Creating a Dialog Box (cont'd)

{{K.Open}}
1 1 6 2 66 16
tx 101 2 1 @ 1 Open File:
tb* 102 2 +1 25 1 «VA@1001»
•<
It 6 2 +3 20 8
Id 106 +22 +0 20 8
lx 104 2 +9 40 1 Current Directory: «VA$pa»
dp 1 50 1 11 1 &OK
pb 3 +0 +2 11 1 SFind...
pb 4 +0 +2 11 1 O&ptions...
Pb 2 +0 +2 11 1 SCancel
Pb 5 +0 +2 11 1 SHelp
cb 107 +0 +3 11 1 SRead Only

You use the LB (List Box) control code to list any words you want. You
specify the words in the text argument, separated by ASCII character 124
(i). You can include a list of macros in a List box. For example:
lb 102 3 3 22 1 «VA@111» l«VA@121» l«VA@122» l«VA@98»
I«VA@1O1»<-

The List Files Box, the List Drive and Directories Box, and the List Box can
be linked to the closest text box above it in the list; so that whenever the
user selects an item in one of the boxes and presses |Spacebaf|, XyWrite
inserts the selected item into the text box.

Special Lists. There are also some special values you can use to produce
lists with the LB control:
@x lists the contents of a macro (x).
lx lists one of the following:
?AS symbol sets
?BO BORDER commands in the current document
?DZ all sizes available for the default font and highlights the
default size
?FO fonts used in the current document
?IG graphic files included in the current document
?MA all macros
?PC printer control codes
?PP printers listed in the PP Table of SETTINGS.DFL
?PR files currently waiting to be printed (automatically
updated)
?SB symbol set available for the current font
?SG sizes of all macros (not contents), including extended
macros and special macros for XyWrite
?SP spelling alternates (used only by the spelling dialog box)

116
(cont'd) Creating a Dialog Box

?ss styles for the current file


?ST commands in the command stack
?SY synonyms (used only by the Thesaurus)
?sz sizes available for the current font
?WI all open windows
?[filename contents of filename
Ifrkeyword contents of type 5 frame with label keyword

For example, the following produces a list box that when displayed lists
all the BORDER commands in the current document:
lb 240 5 +2 15 2 ?BO

List Services. The List Services feature enables you to display a directory,
select multiple files in the directory, and execute a command that affects
all the selected files, one after another.

To display a directory from which multiple files can be selected, use the
/LO switch with the DIR command. For example:
@BX(dir/lo%101)«EX»
i

Note DIR/LO in Executable Lines. When using D1R/LO in an executable line,


you must always use ASCH character 1 (©), never ASCII character 2 (B).

To select a filename from the displayed directory, put the cursor on the
filename and press the space bar. XyWrite indicates selected filenames
with an asterisk.

To process a list of selected filenames with a specific command, use the


/LS switch with one of the following commands:
ATTRIB (Change Attribute)
COPY (Copy a File)
COPY/MV (Move a File)
DEL (Delete a File from Disk)
REN (Rename a File)

For example, the following removes from disk all the files selected in the
list box:
®BX (del/ls %101)«EX»

117
Creating a Dialog Box (cont'd)

Grouping Items in a Dialog Box


You use the GB (Group Box) control code to enclose related items, such as
radio buttons, in a rectangular box. Optionally, you can add a title to the
box, which XyWrite displays in the top border of the Group box. Group
boxes organize items visually on the screen; they do not functionally
group them.

When the dialog box is displayed, the user cannot move the cursor to the
Group box unless it contains controls that the user needs to access (radio
buttons, list boxes, etc.).

For example, the following groups two lines of fixed text into a box:
gb 107 1 6 35 4 Shortcut:
tx +2 +1 28 1 Alt+PgDn Next page
tx + +1 28 1 Alt+Pgllp Previous page

When the dialog box is displayed, the group box appears like this:

Dimming or Automatically Selecting Dialog Box Items


To display in a lighter screen display face any item that you do not want
the user to access or to automatically select an item, include the following
as the option argument:
condition! I action! * condition2 1 action2

condition is a test that can be evaluated to have a true or false value; it can
be any boolean expression, such as normally found in an IF statement.

action is the action to take if the corresponding condition is true. To dim an


item, enter ASCII character 176; to automatically select an item, enter
ASCII character 251.

A condition usually starts with an embedded command. If there is no


condition, it is assumed to be true. For example, the following option
argument tests the value of the Default BK (Backup of Files) setting. If the
setting is on (BK=1), XyWrite selects the item:
«vabk»==11V«-

118
(cont'd) Creating a Dialog Box

For another example, the following option argument uses $WS (Window
Status) to test if there is a file open. If the window is empty ($WS=0),
XyWrite dims the item:
«va$ws»==01

You can test two or more conditions to determine whether or not to select
or dim a radio button or a check box. The test can be true in one case or
the other or in both cases (similar to OR and AND conditionals in
programming).

To test two or more conditions (OR), one or more of which must be true in
order for the test to be true, list each condition followed by a vertical bar
(ASCII character 124) and the action to take if the condition is true. For
example the option argument in the following control line checks to see if
line spacing is set to .50 or if automatic leading is off:
rb 5 2 2 10 1 Half «vals»==.50l7l«vaal»==oN<-

If line spacing is set to .50, XyWrite selects radio button 5 as the default
and exits. Otherwise, it tests to see if automatic leading is off; and if so, it
selects radio button 5 as the default and exits.

To test two or more conditions (AND), all of which must be true in order
for the test to be true, list each condition followed by a vertical bar (ASCII
character 124). At the end of the list include the action to take if the
condition is true.

For example, the option argument in the following control line checks to
see if line spacing is set to 50 and automatic leading is off:
rb 5 2 2 10 1 Half «vals»==.50l«vaal»==0lt/<-

If both conditions are true, XyWrite selects radio button 5 as the default.

Validating Text Entry


You can have XyWrite determine whether the text the user types into a
text box is a valid argument for a specific XyWrite command. You include
the validation in the text argument of the TB (Text Box) control line.

Separate the validation from the text with the string ;**; followed by one of
the following validation type indicators.

119
Creating a Dialog Box (cont'd)

> indicates that the field is mandatory. If the field is left blank, the user
cannot execute the dialog box. > must appear before any other
validation.

< indicates a list of pushbuttons you do not want validated. (In XyWrite,
pushbutton 2 is always Cancel and is never validated and pushbutton
62 is always help and never validated.) For example, the following
avoids validation if the user chooses pushbutton 2,3,9, or 62: ;“;<3,9.

NOTE One Validation Per Control. You can only use one validation with each
control with the exception of < and >. < and > are the only validation
indicators you can use in conjunction with another type of validation.

@ immediately followed by a two-letter embedded command validates


that the value the user enters into the text box is an acceptable
argument for that command. If it is not, XyWrite displays the same
error message it would if the command had been executed from the
command line. For example, the following verifies that the user enters
an acceptable value for the Left Margin command: ;*‘;@lm.

# indicates that the user can enter only an integer into the field.

- indicates that the user must enter two integers separated by a hyphen.

. indicates that the user can enter either a number with a decimal point
or an integer into the field.

+ indicates that the expected user response is a valid math expression,


such as 9*3.

% indicates that the expected user response is a single alphanumeric


character (A to Z or 0 to 9).

\ validates that the path and drive the user entered exist.

t (ASCII character 23) validates that the filename the user enters does
not contain any invalid characters (for example, * + = ,.?"/ \ [ ];: « »
|), that there are eight characters or fewer in the filename, and that
there are three characters or fewer in the extension.

= validates that the filename the user entered exists, and performs the
same validation as t.

120
(cont'd) Creating a Dialog Box

A validates that the filename the user entered does not exist.

$ accepts a number with a leading dollar sign if the user enters one; i.e.,
11.50 and $11.50 are both valid user entries.

! indicates that the expected user response is a page-line number; for


example, 1-4 (page 1, line 4).

/ indicates that the expected user response is a string of page number


ranges; for example, 1-4/9-12 (pages 1 through 4 and 9 through 12).

I accepts the word “AUTO" used either for the SI (Size) argument in the
FA (Frame Area) command or for line spacing in footnote and text
formatting commands. Enter it with the two-letter command; for
example,

II (ASCII character 20) validates that the user entered an acceptable


vertical position for the FA (Frame Area) command (PC, LP, CP, RP,
LC, CC, or RC). Enter it with a two-Iettcr command that also requires a
valid numeric vertical position, such as LS; for example, ;“;HLS.

§ (ASCII character 21) validates that the user entered an acceptable


horizontal position for the FA (Frame Area) command (PC, TP, CP, BP,
TC, CC, or BC). Enter it with a two-letter command that also requires a
valid numeric horizontal position, such as RM; for example,§RM.

[ validates that the style the user entered exists in the cunent document.

For example, the following indicates that if the user selects any
pushbutton other than 2,3, 9, or 62, XyWrite validates that the value
entered in the mandatory field is a valid argument for the Left Margin
command:

As another example, the following text argument of a TB control line


displays the current page width setting and validates that whatever new
value the user enters into the field is a valid argument for the Page Width
command:
«VApw»;**;@pw

121
Creating a Dialog Box (cont'd)

Using One Control to Affect Another


You can set up text boxes, radio buttons, or check boxes to affect other
controls in two ways:
• Entering text into a text box can automatically select a radio button.
• Selecting a radio button or a check box can change the contents of text
boxes (TB or TC) and check or uncheck check boxes.

You do this by assigning values and conditions to controls. Selecting a


pushbutton executes the XPL program whose ordinal position
corresponds to the control's ID number — for example, the pushbutton
with ID 1 runs the XPL program designated by the first ASCII character 2
(0) or ASCII character 1 (i§); the pushbutton with ID 2 runs the second, etc.

By assigning an appropriate ID to a text box, you can automatically select


a radio button as soon as the user types into that text box.

By assigning an appropriate ID to a radio button or a check box, you can


provide an initial value for a text box or select a check box as soon as the
user selects the control.

In either case, you use the following format for the executable line:
9cl=stringT. 'c2=string2!
cl and c2 are control numbers.
string! and string2 are the values you want included in controls Cl and
C2, respectively. You could use the VA command to insert a current value
into the control.

NOTE Ending Executable Lines. You must end each executable line with either
an ASCII character 124 (I) or an ASCII character 1 or an ASCII character
2.

For example, the following executable line automatically enters values


into two fields if the user selects a radio button:
010=8.5111=111

Assume that the example executable line is the fifth in the group of
executable lines for a "Page Setup" dialog box. When the user selects the
"Letter" radio button that has an ID of 5, XyWrite automatically enters a
value of 85 into the "Width" text box that has an ID of 10 and a value of
11 into the "Length" text box that has an ID of 11.

122
(cont'd) Creating a Dialog Box

As another example, the following executable line outputs the contents of


macro 1191 into the text box that has an ID of 6 and outputs the location of
the startup file in the text box that has an ID of 7 if the user selects a radio
button:
06=«VA@1191» !7=«VA$st» I

As another example, the following executable line automatically selects


the radio button that has an ID of 9 when the user enters text into a text
box:
B9=11

123
Intro You use a Type 5 frame in either the menu, dialog box, or help file to
execute commands and programs. Although Type 5 frames may contain
displayable lines, they are usually used as "routine only" frames, which
initialize some variables before moving to a dialog box or a help frame.

Keyword Label
The first line of a Type 5 frame contains the label (5 followed by one or
more keywords) enclosed in a pair of double curly braces {{}}.

Displayable Lines
A Type 5 frame can contain up to twenty displayable lines. Refer to the
next section, "Positioning Menu Screens," for information on determining
the placement of Type 5 displayable lines on the screen.

If you do not want to display a screen, simply include the program as the
second line of the menu frame.

Executable Lines
The content of the executable lines depends on the function you want the
frame to perform. In order to execute a program, start the line with an
ASCII character 2 (0).

Executable lines can wordwrap. An executable line begins with the ASCII
character 2 (0) and ends at the next ASCII character 2 or EX command.

For an example, the following Type 5 frame contains a routine that saves
the current status of the NW (New Window) default to macro 70 before
setting the default to 0:
{{5,SetNW0}}
0 « SX70,« VA$NW» » BX (d NW=O)0

After XyWrite performs the function that calls the SETNWO subroutine, it
can restore the original settings by calling another subroutine:
{{5 .Restore NW}}
0BX (d NW=«PV7O»)0

124
Positioning Dialog Box and Help Screens

Intro You use the DGW (Menu Screen Window Position) command in a menu
file to position a Type 5 frame or in a help file to position a Type C frame
on the screen.

DGW has the following format:


dgw l,t,w,d

I is the number of columns you want the screen displayed from the left of
the window

t is the number of lines you want the screen displayed from the top of the
window; you must specify a number greater than 3

w is width of the screen specified in columns

d is the depth of the screen specified in lines.

For example, the following line in a frame positions a screen that is 78


columns wide and 20 columns deep, 1 column from the left and 4 lines
from the top of the window:
«DGW1,4,78,20 »
Using Accelerator Characters in Menu Screens

Intro When a menu screen is displayed, the user can move directly to a specific
item by pressing the accelerator key associated with the item. When a
menu screen is displayed, accelerator keys are highlighted.

In the pull-down menus, accelerator keys are the highlighted characters


(for example, 0); for the menu bar and dialog boxes, the accelerator keys
are 0t) and the highlighted character (for example, I/SIIaI).

You set this up in the menu frame and in the keyboard file.

Menu Bar and Pull-Down Menus


To indicate the accelerator key in the menu frame that displays the menu
bar or a pull-down menu, simply precede the keyword character you want
as the accelerator with an ampersand (&).

For example, the following two displayable lines in the Type 0 frame in
XY4.MNU designate F as the accelerator character for the File item and M
as the accelerator character for the Format item:

SFile « JDMBFileo ,♦

For&mat «JDMBFormat »,*-

When the menu bar is displayed, the user can make a selection by pressing
the letter key that corresponds to the highlighted letter in the word (for
example, press 0 to select File; press [Mj to select Format).

Dialog Boxes
To indicate the accelerator key for a dialog box item, precede the character
you want as the accelerator with an ampersand (&) in the text argument of
the item's control line.

For example the following entry designates "2" as the accelerator key for
the radio button (ID 105):
rb 105 + +12 + + Button &2

Including an accelerator character in a TX control line forces the cursor to


move to the next control the cursor can go to when the dialog box is
displayed and the accelerator key is pressed.

126
(cont'd) Using Accelerator Characters in Menu Screens

For example the following entry designates "N" as the accelerator key for
the text box (ID 101):
tx 100 8 8 100 12 &New Filename:
tb* 101 + +14 100 12 123456789:

The cursor moves to the text box when the user presses [Ait] [n].

Note Using Accelerator Characters with Pushbuttons. If you associate an


accelerator character with a pushbutton, XyWrite executes the program
associated with the pushbutton when the user presses [ah] and the
accelerator key. It is as if the user pressed [Tab] to move to the item and
pressed [*^1 ■

Keyboard File
Assign the AK (Accelerator Key) function call to the corresponding
character in the ALT table of the keyboard file. The AK function call has
the form:
AK.accel

accel is the accelerator character you specified in the menu frame.

For example, the following notation in the ALT Table of a keyboard file
assigns the accelerator character 2 to [Ait][21:
3=ak,2

When the dialog box is displayed and the user presses ®[2], the cursor
moves directly to the text with "2" as the accelerator character.

127
Providing Context-Sensitive Help Screens

Context-sensitive help screens provide information about a specific phase


of a task the user is trying to accomplish. You set up the help screens
differently, depending on the way they will be accessed: through help
pushbuttons, individual dialog box items, or pull-down menus or other
screen types. You can also provide help screens for command markers.

Help Pushbuttons
You can provide help for an entire dialog box by including a frame in the
help file with a label in the following format:
{{#,feyword}}«-
# indicates the frame type.
keyword is the name of the menu frame in the menu file.

For example, the following label designates the beginning of a Type C


frame in the help file that provides information on the menu frame that
has the keyword PrintToFile:
{{C.PrintToFile}}*-

Result: When the user activates the help pushbutton in the dialog box,
XyWrite displays the information contained in the help frame.

Refer to the next section, "Displaying a Scrollable Help Screen," for more
information on Type C frames.

Dialog Box Items


You can provide help for the various items in a dialog box. Help is
available by pressing [HJ1 on any item you can tab to: text boxes, radio
buttons, check boxes, list boxes, and pushbuttons. You set this up by
including a frame in the help file with a label in the following format:
{{#,keyword id}}+
# indicates the frame type.

keyword is the name of the menu frame in the menu file that includes the
field.
id is the number of the dialog box item for which you want to provide
help. Do not include a space between keyword and id.

128
(cont'd) Providing Context-Sensitive Help Screens

For example, the following label designates the beginning of a Type C


frame in the help file that provides information on item 103 in the menu
frame with the keyword print:
{{C,print103}}<-

Result: When the user puts the cursor on the item and presses [FiJ, XyWrite
displays the information contained in the help frame.

Pull-Down Menus and Other Screens


To link context-sensitive help screens for Type 5, Type C, and Type L
frames, in the help file create a Type C frame that has the same keyword as
the frame in the menu file you want to chain it to. Add an @ character to
the keyword in the new frame label.

For example, a help frame with the following keyword label in the help
file provides information on the menu frame with the keyword GHelp:
{{C,GHelp@}}<-

To provide help on an item in a pull-down menu (Type L), use the


keyword inside the JD command from the menu file as the keyword for a
frame in the help file followed by

For example, in the menu file the following item appears as part of a Type
L menu frame:
&New...« JDNew» .Create a new file

To provide information on that item, include a help frame in the help file
with the keyword New®.

Command Markers
You can use the ST (Show Triangle) function call and a Type C help frame
in the menu file to provide full explanations of command markers. When
the user puts the cursor on a marker in a text file and executes the ST
(Show Triangle) function call, XyWrite displays a frame (if one exists with
the proper keyword in the menu file).

The help frame must reside in the menu file and have as one of its
keywords the two-letter embedded command mnemonic preceded by a A.

For example, the following Type C label has the keyword OF and can be
used to provide help for OF (Offset) command markers:
{{C,"OF}>

129
1 111Vllllliy LMtad-Sensitive Help Screens (cont'd)

To make the function easier to use, assign ST to a key in the keyboard file.
For example, the following entry in the keyboard file assigns the ST
function call to key 35 (H):
35=XH,ST<-

Result: When the user puts the cursor on an OF command marker in a


text file and presses [AtllShit.lH, XyWrite displays the information contained
in the Type C frame with the keyword OF.

130
Displaying a Scrollable Help Screen

Intro You use a Type C frame in the help file to display a help screen that you
can scroll vertically. You can link a Type C frame to other help frames to
replace the currently displayed screen; for example to display a related
topic.

To replace the currently displayed screen, the user puts the cursor on a
bold keyword and presses 1*^1.

When the screen is displayed, the cursor moves to any bold or underlined
keyword visible. When the user presses cursor keys, the cursor moves
from visible keyword to visible keyword.

Keyword Label
A Type C frame can consist of any number of lines. The first line contains
the label (C, followed by one or more keywords) enclosed in a pair of
double curly braces {{}}.

The second line can contain a DGW (Dialog Window) command to set the
size of the window, followed by any formatting commands you want to
use. Refer to "Positioning Dialog Box or Help Screens" for more
information.

Displayable Lines
Each subsequent line contains text you want displayed on the screen. To
link the frame to another frame, include a word either in bold or in
underline mode somewhere in the text and use the JD (Jump to Dialog
Box) command with the other frame's keyword to link the two frames.

NOTE #1 JD Command Position. The JD command must appear immediately after


the linking word and before the MDNM (Mode Normal) command.

NOTE #2 Bold Mode. You can use bold mode throughout the frame for emphasis.

For example, the following Type C frame in XY4.HLP has the label,
"ghGetstart."
Displaying a Scrollable Help Screen (cont'd)

{{C.ghGetstart})
«DGW05,04,70,19» «MDBO»< Exit >«JDExHelp»«MDNM»
«MDBO»< Index >«JDIdxHlp»«MDNM»
«MDBO»< Keys >«JDKeyHlp»«MDNM»
«MDBO»< Previous >«JD»«MDNM»

Getting started help topics

«MDBO»System requirements«JDS49P» «MDNM»


« MDBO»Overview«JDOverview» « MDNM»
«MDBO» Using XyWrite help system«JDAbouthlp» «MDNM»
«MDBO» Starting XyWrite«JDEdilor» «MDNM»
«MDBO» Running programs under XyWrite«JDD17P» «MDNM»

If the user puts the cursor on “Exit" and presses 0, XyWrite executes the
subroutine, ExHelp. If the user puts the cursor on “System
Requirements," XyWrite displays the frame with the keyword S49P.

132
Including Text in Screen Borders

Intro When XyWrite constructs dialog box and help screens from information in
a Type 5 frame with displayable lines or a Type C frame, it automatically
includes a border for screen display. You can use the DGT (Menu Screen
Top) command to automatically include text in the top of the border and
the DGB (Menu Screen Bottom) command to automatically include text in
the bottom of the border.

You specify border text for an individual dialog box or help screen by
using DBT or DGB on the second line of the frame, immediately following
the label.

When you type either command on the command line and press F^l, a
command window opens on the screen. Type the text exactly as you want
it to appear in the border, and then press [fill to close the command
window and complete the procedure.

For example, the following includes the text "How to Find a File" in the
top border of a Type C frame that discusses finding files:
{{C.find}}*-
«DGTHow to Find a File» <-

You can specify default text that you want included in the border of every
help screen by using the DGT or the DGB command on the second line of
the help file. For example, the following includes the text "Press the
Return key to continue," in the bottom border of all the help screens
generated by the file:
:HL;^
«DGBPress the Return key to continue»«-

133
umpiring UUMllUU Explanations ot Error Messages

Intro You use a Type 9 frame in the help file to activate the XyWrite feature for
displaying a full screen of information about the last error message the
user received. It is another way to access frames by using XyWrite's error
coding system. A single Type 9 frame in the help file enables XyWrite to
display the Type C frame that contains in its label the keyword number
associated with the last error message displayed.

Keyword Label
A Type 9 frame consists of only one line which contains the label (9
followed by one or more keywords) enclosed in a pair of curly braces {(}}.
For example, in XY4.HLP the Type 9 frame looks something like this:
{{9,last error message,AF1}}«-

In the example, the 9 indicates that the frame is a Type 9. last error message
and AH are the keywords associated with the frame.

Displayable Lines
You use a Type C frame to enter the message you want displayed for one
or more errors, and use one or more internal XyWrite error numbers as
keywords. Add leading zeros to error numbers less than three digits (for
example, 006 or 032). You can scroll through the XY4.HLP file for many of
the current error numbers. (All the frames that describe errors are
grouped under the Type 9 frame label.)

For example, the XyWrite error message, "There is no command on the


command line," is error message number 11. If the user presses fCui]|fT|
when XyWrite generates that error message, XyWrite displays a full help
screen describing the problem. XyWrite constructs the displayed screen
from a Type C frame in XY4.HLP with the following label:

In the label, the C indicates that the frame is a Type C and Oil is the
internal number of the error message.

You can have XyWrite automatically display your error help screens
whenever an error occurs. Use the Default EH=1 to activate the feature;
EH=0 to disable it. (Although this feature is helpful for beginners, it can
slow the performance of more experienced users.)

tip Building a List of Error Messages. The VA \nnn command returns the
error message associated with error number nnn. You can use this
command to create a macro that builds a complete list of error messages.

134
Testing Dialog Boxes and Help Frames

Intro XyWrite has several functions to assist you in debugging dialog box or
help files.
• ?d and ?h test commands
• Quick Help (QH) function call
• Quick Print (QP) function call

?D and ?H Test Commands


You can quickly display the currently loaded menu, dialog box, or help
frames by using the ?m command for dialog box frames or the ?h
command for help frames. These commands have the following format:
keyword ?d or
keyword ?h
keyword is the keyword of the frame you want to display.

For example, to display the help frame with the keyword credits:
[Fsjcredits ?h[Hj]

The QH (Quick Help) Function Call


QH lets you test frames without saving and reloading the menu or the
help file.

TheQH function call is assigned to [Cvi][Ait]|Shifi[Q in the XyWrite keyboard


file.

To use QH, position the cursor in the frame you want to test and press
[qji1[Ait]|ShiH|Q. XyWrite immediately displays the associated screen.

NOTE QH Not Useful with All Frames. QH does not work with Type 0, Type C,
or Type L frames.

The QP (Quick Print) Function Call


QP prints the dialog box associated with the frame in which the cursor is
located in a displayed dialog box or help file.

To use QP:
1. Position the cursor in the frame you want to test.

2. Type: [F5]func qp0


XyWrite prints the dialog box as it will appear on the screen.

nr
Accessing a Menu Screen with One Keystroke

Intro You use the JM (Jump to Menu) function call in the keyboard file to access
Type K or Type 5 frames directly from the keyboard.

In the keyboard file, J M has the form:


JM,(,k,e,y,w,o,r,d,)

k,e,y,w,o,r,d is the keyword of the menu frame or subroutine. The


keyword must appear in parentheses and each letter of the keyword must
be separated by a comma.

In the XyWrite keyboard file, all the JM function calls are preceded by XH
(Exit Help) commands to remove any currently displayed help, dialog
box, or menu screens before jumping to the frame.

For example, the following notation in the CTRL Table of the XyWrite
keyboard file assigns the Open dialog box to key 24 (O):
24=XH,JM.(,O,p.e,n,)

When the user presses [cw]O, XyWrite first removes any help, dialog box,
or menu screen displayed and then displays the dialog box that has the
keyword Open.

136
Accessing a Help Screen with One Keystroke

Intro You use the JH (Jump to Help) function call in the keyboard file to access
Type C frames directly from the keyboard.

In the keyboard file, JH has the form:


JH,(1k,e,y1u>,olr1d1)

k,e,y,w,o,r,d is the keyword of the help frame you want to access. The
keyword must appear in parentheses and each letter of the keyword must
be separated by a comma.

In the XyWrite keyboard file, all the JH function calls are preceded by XH
(Exit Help) commands to remove any currently displayed help, dialog
box, or menu screens before jumping to the frame.

For example, the following notation in the CTRL Table of the XyWrite
keyboard file assigns the help frame with the keyword AF1 to key 59 (Fl):
59=XH,JH,((A1F11,)

When the user presses (OdllFil, XyWrite first removes any help, dialog box,
or menu screen displayed and then displays the help frame that has the
keyword AF1.

137
Loading Menu, Dialog Box, and Help Files

Intro Use the LOAD command to load your menu, dialog box or help file as you
would any other customization files. For example, to load a menu file
named MY.MNU and a dialog box file named M Y.DLG:
Type: |£5]load my.mnu+my.dlgS

If you haven't entered the special file label (;MN; or ;HL; or ;DG;) as the
first line of the file you are loading, XyWrite displays the error message,
"Customization file requires a file label."

Since menu, dialog box, and help files can become very large, XyWrite
never keeps the whole file in memory. The first time you load a menu,
dialog box, or Help file, XyWrite creates an internal index of the file and
stores the index at the bottom of the file. This index, and certain other
types of frames, are all that actually load into memory, which allows a
very large menu, dialog box, or help file to consume very little memory.
When you access the menus or help facility, XyWrite checks the index,
much as you check the index of a book, to determine where to get the
information you want displayed. It then refers back to the file stored on
disk to get the information to display on the screen.

If you load the same unchanged menu, dialog box, or help file again,
XyWrite does not rebuild the index, so the file loads very quickly.
Whenever you edit a menu, dialog box, or help file and store it back to the
disk, the index is removed. The next time you load the file, XyWrite !
rebuilds the index. Therefore, loading times vary depending on whether
or not the menu, dialog box, or help file was edited.

Although a menu, dialog box, or help file can be any size that fits on a
disk, the index cannot exceed 64K. ;

138
Printer Files

For the most part, printer manufacturers have adopted different control
codes. As a result, software manufacturers have had to develop ways of
handling printer information. We have developed a library of printer files
that translate XyWrite commands into codes that the printer understands.
You may never need to modify your printer file, but this section gives you
the information you need if you do want to customize it.

Contents page Section


140 Basics of the Printer File
140 Making Changes in the Printer
141 Loading the Printer File
141 Installing a Serial Printer
142 How Do Printer Files Work?
143 Terminology
145 Printer File Construction
147 Printer File Heading
148 Printer Control Table
153 Printer Control Commands
155 Font Matching
156 Screen Font Assignments
158 Printer Font Assignments
160 Default Settings
162 Printer Settings
165 Character Mode Table
167 Graphics Settings
171 Terminator Strings
173 Vertical Spacing
174 Microjustification
177 Attribute Tables
178 Font Tables
183 String Operators
185 Width Tables
187 Substitution Table

139
Basics of the Printer File

Purpose A printer file is a file that contains the settings and control codes for a
particular printer. XyWrite comes with printer files for over 150 specific
printers. These files are ready to use—all you need to do is see which file
applies to your printer, and then load that file with SETP or LOAD.

As part of the installation procedure, you are asked to identify the printers
that are part of your current setup. The installation procedure then copies
the appropriate printer files into the XY4 directory. To see the names of the
printer files available on your computer, display a selective directory of
XY4. (All XyWrite printer files have the extension PRN.)

Type: (Fsjdirl \xy4\*.prn0

To find out which printer model a particular printer file supports, call up
that file—the manufacturer's name and model numbers are listed at the
top of each printer file.

ACTION Making Changes in the Printer File


To make changes to the printer file, do the following:

1. Call to the display the printer file you use. For example:
Type: |R]call post35n.prn0

2. Search through the printer file to see if the command you want to enter
is already present.

3. Modify or add the commands you want.

4. To cause the setting you entered in the previous step to take effect,
store the printer file and then load it as described in the next
procedure.

NOTE Testing Changes. We recommend that you save and load the printer file
after each change so you can easily identify and correct errors.

140
(cont'd) Basics of the Printer File

Action Loading the Printer File


When you install XyWrite, a SETP command is entered in STARTUP.INT
to load the default printer file and establish the port. If you modify a
printer file, you can reissue the SETP command to load the changes into
memory. For example:
Type: [fs] setp 1S
to load the printer file associated with the first printer listed in the Select
Printer file dialog box.
If you do not have printers connected to different ports, you can use the
LOAD command to load a printer file into memory. For example:
Type: [fsjload post35n.prnS
Result: This loads your printer file into memory, setting up XyWrite to
print to a PostScript printer. It does not redirect printing to a different
port.

Action Installing a Serial Printer


When installing a printer that runs off your serial port (C0M1 or COM2),
you must redirect the line printer port (LPT1) to the serial port. To do this,
perform the following steps prior to starting XyWrite:
1. Be sure that MODE.COM is in your root directory.
2. Type the following two statements prior to starting XyWrite. Refer to
your printer manual for the proper settings to include—here we've
used 9600,n,8,l,p. The second statement redirects LPT1: to C0M1. At
the DOS prompt:
Type: mode com1:9600,n,8,1 ,p0
Type: mode Ipt1 :=com 1Q
If the serial printer is part of your standard configuration, you can add
these two statements to your AUTOEXEC.BAT file. (Refer to the DOS
manual for more information on the mode command)
3. Start XyWrite. At the DOS prompt:
Type: editorial
At this point you are in XyWrite, where you can call, edit and store
files.
4. After you quit XyWrite, issue the following command to return LPT1
and C0M1 to their original states. At the DOS prompt:
Type: mode lpt1:CT

141
i ■ luiLLi me (cont'd)

How Do Printer Files Work?


When you write a document, you can indicate in text where you want
different fonts (such as Times), attributes (such as underlining), z
orientation (such as landscape), or graphics. The printer file specifies
exactly how these (and other) qualities are handled by the printer,
I
If you have loaded a PostScript printer file and you want text to be printed I
in Times Roman, you insert « UFTIMES» (Use Font Times) into the text.
Then, when you print a document using PRINT, XyWrite inserts the
printer codes assigned to the Times font into the text going to the printer. t
These codes are specified by a line in the printer file; for example:
FO<) s /Times-RomanS findfont [?X 0 0 ?Y 0 0] m (

Let's say you have loaded a PostScript printer file, and you send a file
containing Times Roman text to your printer. The printer codes listed in
the FO< statement above are inserted into the text in place of the ;
embedded command UF TIMES. This causes Times Roman to begin.
When XyWrite encounters the next UF command, it inserts the printer
codes associated with the typeface specified in that command. j
>
I
II

142
(cont'd) Basics of the Printer File

TERMINOLOGY
The printers supported by XyWrite fall into three categories: scalable
printers, non-scalable printers, and Hewlett-Packard LaserJet-compatible
printers.
scalable printer — A printer that uses character outlines rather
than point-size-specific (bitmapped) characters. The outlines can be
reduced or enlarged to produce a wide range of type sizes.
PostScript printers (e.g., Apple LaserWriter NTX, IBM Personal
PagePrinter, and QMS PS 810) are a common example of scalable
printers. The Hewlett Packard LaserJet III and Canon LBP4 are also
scalable printers.
non-scalable printer — A printer that uses point-size-specific
(bitmapped) characters. Non-scalable printers support a more
limited range of point sizes than scalable printers. Dot matrix
printers (e.g., Epson LX 800) and LaserJet Series II printers are
common examples of non-scalable printers.
Hewlett-Packard LaserJet printers (and compatibles) — A
series of printers that use the PCL control language. LaserJet
printers support a large character set, which is divided into a series
of symbol sets.

The following terms apply to type specifications. The meaning of these


terms varies slightly, depending on the printer. For example, bold may be
a font on one printer but an attribute on another printer.
attribute — Any printer effect that modifies an existing font, such as
underline, superscript or subscript.
font — A set of characters that have a unique type design (e.g.,
Pica, Elite, Courier or Helvetica). In XyWrite, font is a synonym for
typeface. There are two major categories of printer fonts:
bitmapped fonts and outline fonts.
A bitmapped font is one in which each character is defined as an
array of dots. Bitmapped fonts are point-size specific, which means
you can only print in the point sizes that are internal to the printer.
An outline font is one in which the characters are defined as shapes.
Outline fonts can be scaled to any point size.

MB
Basics of the Printer File (cont'd)

TERMINOLOGY (cont'd)
leading (pronounced led-lng) — The vertical spacing of lines of
type, measured from baseline to baseline.

_The rain in Spain


leading if alls mainly on the plain

point — A unit of measure frequently used to define type size-and


leading. Equal to approximately 1/72 inch.
point size — The height of a character. You can gauge the point
size of a character approximately by measuring from the top of an
uppercase letter to the bottom of a "y" or "g" and adding for white
space above and below it
8 ABCDEFGHUKLMNOPQRSTUVWXYZ
10 ABCDEFGHIJKLMNOPQRSTU
12 ABCDEFGHIJKLMNOPQ
14 ABCDEFGHIJKLMNO
18 ABCDEFGHIJKL
24 ABCDEFGHI
30 ABCDEFG
42 ABODE
48ABCD
60 ABC
typeface family — A group of related typefaces (e.g, Times, Times
Bold, Times Italic, Times Bold Italic).

144
(cont'd) Basics of the Printer File

Printer File Construction


The printer files provided on your XyWrite disks are already properly set
up to work. However, if you want to modify your printer file, it would be
good to understand how it has been constructed. Look at the printer file
example on the next page. Although this is a condensed version of an
actual printer file, it shows the 14 most common elements of a printer file.
(Lines starting with a semicolon are comment lines. Vertical ellipses
indicate areas where data has been omitted from the illustration.)
1. Heading — The file label, formatting commands, and notes.
2. Printer Control Table — Control codes for printer commands, such
as the codes for changing paper trays.
3. Screen Font Matching — Associates font names in a UF command
with screen fonts.
4. Printer Font Matching — Associates this printer's fonts with font
names in a UF command.
5. Defaults and Printer Settings — Default settings that are printer­
specific, such as the non-printable area, as well as other printer
settings.
6. Character Mode Table — Associates character mode commands with
attributes such as bold and underline.
7. Graphics Codes — Control codes for printing graphics and borders.
8. Terminator Strings — Characters to end a line, page, and file.
9. Vertical Spacing Settings — Control codes for vertical spacing.
10. Microjustification Settings — Control codes for horizontal spacing.
11. Attribute Definitions — Control codes for specific attributes.
12. Font Definitions — Definitions and control codes for specific fonts.
13. Width Tables — Width settings for fonts.
14. Substitution Tables — Control codes for specialized characters.

NOTE Comment Lines. Any line starting with a semicolon (;) is a comment. The
entire line is treated as a comment — you cannot place a comment to the
right of a printer setting. The line is ignored when the printer file is
loaded into memory. For example:
;This is a comment line.«-
You can place comments throughout the printer file as you wish, except
you cannot put comments in tables that have a specified number of lines
(for example, VS:).

145
Basics of the Printer File (cont'd)

PR;; SID.IDA EPSON FX-850, FX-1050 /VERTICAL SPACING TABLE


/Movement in 216ths of an inch
.'AUDI* TRAIL: VU-36,36,100

G> 3 00

.NOTES
X.OA Initial release of printer file VS: 36

: I. NLO cennoc be mixed with Double

;PC (Printer Control) TABLE *353


PC: MICROJUSTIFICATION SETTINGS
BO.-e-c Cf
81,
— *C
82. e-c 9
83. *C Cf ?'J<20.216
ET
.•SCREEN FCNT MATCHING
FA:3

(Z> COURIER!0-STANDARD
DUTCH-DRAFT-PRO, DRAFT-PRO/WIDE.
SWISS-SANS-PRO
/PRINTER FONT MATCHING
FP:4
COURIER::-!. 66,154.201,211
DUTCH-5431,5451,5559,5579
SWISS-34133, 34123,34231, AT: DELE'
PRO-SWIS5.DUTCH ATlS??-
/DEFAULTS AND PRINTER SETTINGS
:i-i
?X—?
DF FF-1
& DF EJ-1
DF BS-1 AT:UNDERLINE
HD MM-255
ZL-0
5Z-12
.•NODE TABLE
1
NM»f)
DOUBLE*EMPHASIZED)
NDERLINE)
TALJC)
RV-("-FORMS)
SU-(•-SUPERSCRIPT) US:SuB
SD-("-SUBSCRIPT) SZ-12
IN-("-INSERT) VL-42
DN-("-DELETE) ET
MM-(MICRO) ;width tables
FN-O WD/10CPI
SW-I2
GRAPHICS CODES
ET
GB<??B
GE<?
WD:12CPI
O BK?*L?W1KB
B2<
BE<
sw-10
ET
GV-6,3.9,0,15
/SUBSTITUTION TABLES
GR-122,72
/TERMINATOR STRINGS SU:SUB
FB<***t©*6 !-*R
©■ LE</ \-*R VW
FE</ 1-*R )**
FE<4-2/ ET
/END OF PRINTER FILE

146
Printer File Heading

Intro The heading section of the printer file includes the file label, an audit trail,
and notes. The size of the heading section varies from printer to printer,
and most of the data it contains is for information only. The exception to
this is the file label, which is required by XyWrite. Each line in the
heading section is preceded by a semicolon, indicating that it is a
comment.

Label The first thing in every XyWrite printer file is the following label:
;PR« cp»; / LA gJD
where cp is the number of the code page (437 or 850) used to create the
printer file. Most XyWrite 4.0 printer files created in code page 850. This
label, which must be in uppercase, identifies the file as a printer file when
you load it into memory. Immediately after the file label are formatting
commands, the version number of the file, and the types of printers
supported by the file.

audit The audit trail describes the changes made to the printer file each time a
Trail new version is released.

Notes The notes area contains information accumulated by XYQUEST's


Technical Services Department that will help you use the printer with
XyWrite. It may include switch settings, sheet feeder information,
memory requirements, etc.
Printer Control Table
[
I
Intro The PC (Printer Control) table allows you to send control strings to the
printer. You use this table to control the printer at specific points within
your document and to set printer defaults. For example, if your printer
has two paper trays, you can change trays when you begin a new page.
You could use letterhead paper for the cover page of a letter and plain !
paper for subsequent pages.

In XyWrite, a given PC number performs the same function on all


printers. For example, PC 1 always turns on draft printing, and PC 141
always establishes landscape printing. The codes in the PC table are set
up in groups. The first code in the group represents the default condition.
Within each group, only one function can be turned on (for example, only f
one paper tray can be active). Refer to the table on the next page for a list
of the PC numbers and associated printer functions.

Although the function associated with each PC number is the same from >
printer file to printer file, the content of the PC table varies widely from i
printer file to printer file. There are two reasons for the variation: (1)
individual printers do not support all the functions defined in the master
table; and (2) different printer manufacturers use different control codes to
perform functions.

The format for the PC table is:

PC:
H,code

it,code
ET

where # is the PC number and code is the printer-specific control codes for
that function.

148
(cont'd) Printer Control Table

1, Draft 40, Black


2, Letter 41, Blue
3, Letter II 42, Brown
LQ 4, Letter III 43, Charcoal
5, NLQgothic 44, Cyan
6, NLQcourier 45, Green
7, Utility 46, Magenta
9, Draft II 47, Maroon
10, Reverse Off 48, Neutral
E 11, Reverse On
12, Outline Off
49, Olive
50, Orange
E 13, Outline On
14, Shadow Off
51, Red
52, Violet
E 15, Shadow On 53, White
54, Yellow
16, Inverse Off
E 17, Inverse On
18, User Set Off
60, Black Background
61, Blue Background
E 19, User Set On 62, Brown Background
63, Charcoal Background
20, Reserved
E 21, Reserved
22, Reserved
64, Cyan Background
65, Green Background
E 23, Reserved 66, Magenta Background
67, Maroon Background
24, Reserved
E 25, Reserved
26, Script Up Off
68, Neutral Background
69, Olive Background
E 27, Script Up On
28, Script Down Off
70, Orange Background
71, Red Background
EF
E 29, Script Down On
30, Double Underline Off
72, Violet Background
73, White Background
E 31, Double Underline On
32, Overscore Off
74, Yellow Background
80, Letter (8.5"xll")
E 33, Overscore On 81, Legal (85"xl4")
82, A4 (210x297mm)
34, Floating Underline Off
E 35, Floating Underline On 83, Executive (7.25'’xl05")
84, B5 (182x257mm)
36, Outline/Shadow Off
E 37, Outline/Shadow On 85, Envelope #10 (4.13"x95")
86, Envelope #9 O^S-xS-SS")
38, Shading Off
E 39, Shading On 87, Monarch Envelope
88, DL Envelope (110x220mm)
89, C5 Envelope (162x229mm)
90, B5 Envelope (176x250mm)

149
Printer Control Table (cont'd)

120, Upper Tray (Bin 1)/Sheet feeder off


121, Manual Feed
122, Manual Envelope (Any Size)
123, Lower Tray (Bin 2)/Sheetfeeder On
PB 124, Envelope Tray/Feeder
125, Paper Bin 3
126, Paper Bin 4
127, Paper Bin 5
128, Paper Bin 6
129, Paper Bin 7
140, Portrait
141, Landscape
OR 142, Reverse Portrait (right-to-left)
143, Reverse Landscape (right-to-left)
148, Pluggable Font Card Off
149, Pluggable Font Card 1
150, Pluggable Font Card 2
151, Pluggable Font Card 3
PC 152, Pluggable Font Card 4
153, Pluggable Font Card 5
154, Pluggable Font Card 6
155, Pluggable Font Card 7
156, Pluggable Font Card 8
157, Pluggable Font Card 9
158, Overlay Off
159, Overlay 1
160, Overlay 2
161, Overlay 3
PC 162, Overlay 4
163, Overlay 5
164, Overlay 6
165, Overlay 7
166, Overlay 8
170, Simplex (single-side)
JB
[ 171, Duplex (long-edge)
172, Duplex (short-edge)
PC r 176, Transparency Off
177, Transparency On
PC
JB
c 178, Full Speed
179, Half Speed
240, Multiple Copies
PC 241, Shading Percentage
PC 242, Rotate Baseline Degrees
PC 243, Slant Character Percentage
150
(cont'd) Printer Control Table

As an example, the following table is from the printer file for the Epson
FX850 printer:

PC:
80, «-C cf
81, «-CJ3
82, <-C 2
83, <-C a
12O,*-|1
123,*-12
ET

The first line (PC:) starts the table. The next four lines (labeled 80-83) are
the codes for paper size (letter, legal, A4, Executive). The lines labeled 120
and 123 are the codes for paper trays. The last line (ET) ends the table.

Let's take a look at another example. The following PC table is from the
Hewlett Packard LaserJet IIP printer file:

PC:
34, «-&d@
35, <-&d3D
80, «-&l2A
81, <&I3A
82, <-&l26A
83, «-&l1A
85,«-&l81A
87, «-&l80A
88, <-&l90A
89, <-&l91A
120, «-&l1H
121, «-&I2H
122, «-&I3H
123, <-&I4H
124, «-&I6H
140, *-&IOO
141, <-&I1O
240,?«-&l?VX
ET

This PC table includes lines from five different code groups: underscore,
paper size, paper tray, orientation, and multiple copies.

151
Printer Control Table (cont'd)

Note #1 Reserved Numbers. XyWrite uses a universal numbering scheme for


printer codes. If you want to add a PC code to the table, use a number
between 180 and 239.

NOTE #2 Wild Cards. Some printer functions defined in the PC table require a
value in order to be executed. For example, PC 241 is the printer control
code for shaded printing. In order to process this control code, XyWrite
must pass the desired percentage of shading to the printer.

For this reason, PC codes 240-255 use a wild card in their definitions. The
syntax of the wild card in the PC table is:

#,?code?Vcode

where # is the PC code; ? is the wild card indicator; code is the printer code
for the function being defined; and V is the variable that will be replaced
by the second argument of the PC command when you print your
document.

Note #3 How PC Codes Are Invoked. PC codes are automatically invoked when
you select a printer-related function from the menu. (Functions that are
not supported by the currently loaded printer appear dimmed in the
menus.) The menus execute one of the following commands, depending
on the function:

JB (Job Begin)
PB (Page Begin)
PC (Printer Control)
LQ (Letter Quality)
EF (Special Effect)
DY (Dye)
OR (Orientation)

The JB, PB, and PC commands are described on the next page. Refer to
the Command Reference Guide for more information about the LQ, EF, DY
and OR commands.
Printer Control Commands

FORMAT EJpb #
El pc #,v
E3 default jb=#,

• is the number of the printer code.


v is a variable that is passed to the printer for PC codes 240-255.

Purpose PB, PC, and JB all allow you to send printer codes defined in the PC table
to the printer. However, each command processes the printer codes in a
slightly different manner:

• JB (Job Begin) — This is a default command. It instructs XyWrite to


process the specified PC code at the beginning of every document sent
to the printer.

• PB (Page Begin) — This is an embedded command. It instructs


XyWrite to process the specified PC code at the beginning of the page
that contains it.

• PC (Printer Control) — This is an embedded command. It instructs


XyWrite to process the specified PC code at the location of the
command.

If you want to invoke one of the PC codes, it is important that you choose
the appropriate command. For example, duplex printing needs to be
established as a default (with JB), paper size needs to be established at the
top of the page (with PB), and font card selection is generally established
at the text location where you want the font card to take effect (with PC).
The table of PC codes shown earlier in this section indicates the command
you should use for each group of PC codes. (Remember, the PC codes can
be invoked automatically via the menus.)

There are 25 groups of PC codes, plus four single codes at the end of the
table. When you turn on one PC code in a group, the other codes in that
group are automatically cancelled. PC codes invoked by the PC or PB
commands are automatically reset at the end of a document; PC codes
invoked by the JB default setting remain in effect until another JB
command is issued (see Note ill).

153
Printer Control Commands (cont'd)

ACTION Inserting a Printer Control String


Let's assume you are using a Hewlett Packard LaserJet IID printer and
want to instruct the printer to use the lower paper tray.

1. Move the cursor to the page that you want to start printing from the
lower paper tray.

2. Enter the PB command.

Type: [f5]pb1230

Result: When you print the document, the code to switch to the lower
paper tray is sent to the printer at the top of the page that contains the PB
command. The printer continues to print from the lower paper tray until
you enter another PB command from the same group of PC codes or until
the end of the document.

ACTION Sending a Variable to the Printer


Some PC codes (240 and above) require a value to complete the function.
For example, if your printer supports a rotating baseline (code 242), you
must specify the amount of the rotation. For example, to rotate 90 degrees:

Type: [F5]pc 242,900

NOTE #1 JZ Default Setting. The JZ default setting affects the way XyWrite resets
the PB and JB commands. Refer to "Printer Settings" for information on
the JZ setting.

154
Font Matching

Intro When you format a document, there are a number of type specifications in
effect, even if you don't enter an embedded command for each of them.
When you print your document (or display it in graphic view), XyWrite
compares the type specifications in the document to the font tables in the
printer file to determine what font most closely matches the current type
specifications.
If you formatted your document using the menus, there will be an exact
match between the type specifications in your document and the font
tables in the printer file. However, if you received a XyWrite document
that was formatted by someone else (perhaps for a different printer),
XyWrite may not find an exact match.
When that happens, XyWrite looks for a font that most closely matches the
type specifications. It makes the selection based on the following
priorities:
1. Orientation: If the printer file supports portrait and landscape fonts,
XyWrite matches on this specification first.
2. Type Size: From the list of fonts in the correct orientation, XyWrite
looks for a font that is also in the requested type size.
3. Typeface: From the fonts that match the first two criteria, XyWrite
looks for a font that is also in the requested typeface (e.g., Times or
Courier). If there is no font table for the specified typeface, XyWrite
looks at the FP (Printer Font) table for a typeface synonym, and then
matches on that font table. (See "Printer Font Assignments" for more
information on the FP table.)
4. Type Style: Type style (normal, bold, italic) is the next criteria XyWrite
uses to match fonts.
The process of formatting a document for printing and formatting it for
graphic view is the same. XyWrite uses the same font matching steps,
with one modification. Instead of looking in the FP table for a font match,
XyWrite looks at the FA (Font Association) table to determine what screen
font to use to represent the printer font. (The printer font can be either the
requested typeface or a synonym for the requested typeface, as described
in Step 3 above.) See "Screen Font Assignments" for more information on
the FA table.

NOTE Hewlett Packard LaserJet Printers and Compatibles. If you are using a
Hewlett Packard LaserJet printer or compatible, there are three additional
type specifications that can be used for font matching: symbol set, pitch,
and stroke weight. These specifications are evaluated after the typeface
specification.

155
Screen Font Assignments

Intro When you display a document in graphic view, XyWrite uses screen fonts
to create the display. XyWrite provides three styles of screen fonts: serif
(DUTCH), sans serif (SWISS), and monospaced (COURIER10). While you
may add more screen fonts (see Note #1), it is likely that your printer
offers typefaces for which you do not have a corresponding screen font.

FA: The Font Association table lets you associate each screen font with as
many printer fonts as you want. You use this table to match the printer
font to the most closely matching screen font (for example, to match the
printer's serif typefaces with the DUTCH screen font).

Format:
FA:h
scrfnt=prfntl,prfnt2,...
$crfnt=prfntl ,prfnt2,...
scrfnt=prfntl ,prfnt2,...

where »is the number of lines in the FA table; scrfiit is the name of the
screen font; and prfntl, prfntl are the names of the printer fonts supported
by this printer.

Example:
FA:3
courierl O=courier,standard
dutch=bookman,newcenturyschlbk,zapfchancery,palatino, times
swiss=avantgarde,helvetica,helvetica-narrow

In this example, the screen font COURIERIO is used to represent printer


fonts Courier and Standard; screen font Dutch represents printer fonts
Bookman, New Century Schoolbook, Zapf Chancery, Palatino, and Times;
screen font Swiss represents printer fonts Avant Garde, Helvetica, and
Helvetica Narrow.

When you switch to graphic view, XyWrite checks the FA setting to


determine what screen fonts you want to have represent the printer fonts
selected in your file. It uses the widths of the printer fonts, so the line
endings will be exactly as they will appear when printed. However, when
a representative screen font is used, the screen display is not exactly a
what-you-see-is-what-you-get display (see Note #2).

156
(cont'd) Screen Font Assignments

NOTE #1 Screen Fonts. XyWrite uses screen fonts in Bitstream Speedo format.
There are many fonts available in this format from third-party vendors.
To use them with XyWrite, install the new fonts in the directory set up for
screen fonts (by default, this is the BTFONTS directory, which is off the
root directory). Then delete the file SCRFONTS.BIN. XyWrite will
recreate it the first time you switch to graphic view.

Note h2 Screen/Printer Font Mismatch. If the printer font widths differ


significantly from the screen font widths, you may see overlapping
characters in graphic view. Depending on the setting of the EP (Error
Prompt) default, you may also see the message "Screen/printer font
mismatch-display is incorrect.'' No action is required in response to this
message—it is for your information only. When you print the document,
the character alignment will be accurate. (For more information on EP,
refer to "Default Settings.")

Note #3 DCA Typefaces. The Font Association tables in the XyWrite printer files
include associations for DCA typefaces. These typefaces, which are
represented by numbers, are used in IBM's standard document format
called Document Content Architecture (or DCA).

Note #4 Hewlett Packard PCL Fonts. XyWrite automatically recognizes Hewlett


Packard PCL bitmapped screen fonts. You do not need to include them in
an FA table.

157
Printer Font Assignments

INTRO Whether you are using a stand-alone machine or are on a network,


chances are there will be times when you want to print a document on a
different printer model than the one you normally use. Although different
printer manufacturers use different typeface names, XyWrite printer files
are designed to let you change printers without modifying the UF (Use
Typeface) commands in your documents.

fp; The FP table lets you associate one printer's font names with another
printer's font names. This is handy if you use more than one printer,
because you can output the same file on both printers without changing
the file's UF commands.

Format:
FP:»
/oHf=sy»io»yw2,synony»i2,sy»onym3...

where n is the number of lines in the table, font is the name of the font
used in this printer file and synonyml, synonym!, synonym3... are the names
of the fonts used in alternate printer files.

Example:
FP:3
courier=elite
times=tmsrmn
helvetica=helv

When this printer file is loaded, XyWrite uses the printer font TIMES
whenever it encounters the command UFTMSRMN in your documents; it
uses the printer font COURIER when it encounters a UFELITE command;
and it uses HELVETICA when it encounters a UFHELV command.

If you work in graphic view, you should also include the screen fonts in
the FP table. The screen fonts need to be defined as fonts (for printing in
image mode) and as synonyms (for printing in non-image mode from
graphic view). For example:
FP:6
courier10=courier,standard
dutch=bookman,newcenturyschlbk,zapfchancery,palatino,times
swiss=avantgarde,helvetica,helvetica-narrow
courier=elite,courier10
times=tmsrmn,dutch
helvetica=helv,swiss

158
(cont'd) Printer Font Assignments

NOTE #1 DCA Typefaces. The FP tables in the XyWrite printer files include
associations for DCA typefaces. These typefaces, which are represented
by numbers, are used in IBM's standard document format called
Document Content Architecture (or DCA).

NOTE #2 Internal Fonts vs Outline Fonts. When constructing an FP table, always


list the outline fonts at the top and the internal fonts at the bottom.

Note #3 Customizing FP Tables. As delivered, the XyWrite printer files are not set
up to share font names between printers—the number of potential
combinations is too great. You can use the menus to customize the FP
table to associate the font names used by the printers in your particular
configuration.

Note #4 Troubleshooting. Let's say you installed a new Bitstream Speedo screen
font in the \BTFONTS directory according to the directions provided with
the font, and you deleted SCRFONTS.BIN so XyWrite could rebuild it
with the new screen font information. Then you formatted a document
using the new screen font and switched to graphic view. Instead of
displaying the document in the new screen font, XyWrite displays the file
inCOURIERlO. Why? When XyWrite goes into graphic view, it checks
the FA and FP tables in the printer file to see what screen fonts are
defined. If the screen font is not defined, XyWrite uses the default font
(STANDARD), which is associated with screen font COURIERIO.

To correct the problem, add the new screen font to the FA and FP tables
according to the procedures described earlier. After making the changes,
reload the printer file and then redisplay your document in graphic view.

Note #5 Image Mode Printing. Unless you are using a Hewlett Packard LaserJet
or compatible, you need to set the IM (Image Mode) default to 1 in order
to print screen fonts. XyWrite automatically downloads the fonts to
Hewlett Packard LaserJet printers, making image mode unnecessary.
Refer to "Default Settings" for more information about IM.

159
Default Settings

Intro Overview of Default Settings. All of the XyWrite default settings can be
included in the printer file. Typically, though, only the defaults that are
associated with the printer are included (the others are stored in
SETTINGS.DFL). For example, some printers can perform a backspace
while other printers cannot. The BS (Backspace) default setting is therefore
set in the printer file.

When you set a default in the printer file, the format is:

DF inn=#

where mn is the two-letter name of the command and # is the value of the
command. For example:

DF BS=1

df BS Backspace Control — Enables your printer to print a backspace, whether


or not your printer can recognize a backspace character. (The initial
default is 1.)
df bs=1 Use this setting if you are using a printer that can perform a
backspace — in other words, if the printer responds to the backspace
character—□, ASCII value 8—by backspacing one character.
df bs=O Use this setting if the printer cannot perform a backspace (that is,
if it ignores the backspace character). Then, when XyWrite encounters a
backspace character, it simulates the backspace function by printing that
line in two passes.

DF EJ Eject Last Page — Enables XyWrite to eject the very last page of a
document. (The initial default is 1.)
df ej=1 Causes the very last page of a document to automatically eject
from the printer. If Form Feed is off (DF FF=O), it sends blank lines to eject
the last page. If Form Feed is on (DF FF=1), it sends a form feed character
(9) to eject the last page. Most laser printers require this setting.
df eJ=O Prevents the last page of a document from being ejected from the
printer.

If there is a Running Footer command in the document, the last page will
be ejected regardless of what the EJ setting is.

160
(cont'd) Default Settings

DF FF Form Feed Character — Enables XyWrite to insert a form feed character at


the end of each page. (The initial default is 1.)
df ff=0 Causes XyWrite to send enough carriage retum/line feed
characters at the end of each page to advance the paper to the top of the
next page. The FD (Form Depth) setting determines the total number of
lines XyWrite will send to the printer for each page.
df ff=1 Causes XyWrite to send a carriage return/ line feed combination
(/E), and a form feed character ($), at the end of each page, to advance the
paper to the top of the next page. Exception: when you turn off Eject Last
Page (with DF EJ=0), there is no Form Feed character sent at the end of the
last page. DF FF=1 is required on most laser printers.

161
Printer Settings

Intro Printer settings are similar to default settings, but they must be included
in the printer file. You cannot set them from the command line as you can
default settings, nor should you put them into SETTINGS.DFL. When you
load a file that contains a printer setting, XyWrite doesn't just overwrite
the value for the specific setting in memory; it unloads all previously
loaded printer information from memory.
The following paragraphs describe the printer settings.

h Italic Information. Establishes whether italic is a font or an attribute on


this printer.
11=0 Use this setting if the printer includes italic typefaces. (This is the
default.)
11=1 Use this setting if the printer uses an italic attribute. This setting is
most commonly applied to dot matrix printers, and it enables the italic
typestyle in the menus.

jz Job End — Specifies how XyWrite resets the JB (Job Begin) and PB (Page
Begin) commands when you print a job. (Refer to the section "Printer
Control Table" for a detailed explanation of the JB and PB commands.)
jz=O Resets PB to 0 at the end of the job; does not reset JB.
jz=1 Resets JB and PB to 0 at the end of the job.
jz=2 Resets PB to 0 at the end of any page that contains a PB; does not
reset JB.
Jz=3 Resets PB to 0 at the end of every page. Resets JB to 0 at the end of
the job.

NA Non-Printable Area. Defines the page margin that is reserved by the


printer and is therefore not available. For example, most laser printers do
not start printing at the top of the page, nor do most dot matrix printers
with sheet feeders.
na=l,r,t,b Format of the NA setting, where I is the non-printable area on
the left of the page; r is the non-printable area on the right of the page; t is
the non-printable area at the top of the page; b is the non-printable area at
the bottom of the page.
na=.2ln,.3in,.5ln,.3In Example of the NA setting.

Printer Memory. This setting gives XyWrite a variety of data about the
printer's font-handling abilities.
pm=m,f,c,o,v,s Format of the PM setting, where m is the amount of
memory available in the printer (in bytes);/is the maximum number of
soft fonts that can be downloaded; c is the maximum number of cartridges

162
(cont'd) Printer Settings

the printer can hold; o is 1 or 0 (1 means add orientation to FO string or


means that the orientation command is part of the FO string; 0 means
don't add the orientation); v is the percentage by which you want
XyWrite to increase the internal leading value of the soft fonts; s is the
starting download position of printer fonts (the initial setting is 1000).
pm=1395,20,2,1,100,1000 Example of the PM setting.

PR Printer Font Data. Specifies the file that contains the binary font
information for internal and cartridge fonts and the model of printer that
the fonts are for. At the current time, this setting applies to Hewlett
Packard LaserJet printer files only, and there are two files that contain the
font information: LJ.B1N and LJ3.BIN. LJ.B1N applies to all LaserJet
printers except the Series III.
pr=name,ty Format of the PR setting, where name is either LJ.B1N or
LJ3.BIN and ty is one of the following labels:
LJ LaserJet
L2 LaserJet 11
2D LaserJet 1ID
2P LaserJet IIP
L3 LaserJet III
3P LaserJet 1IIP
3D LaserJet HID
SI LaserJet IHSi

SB Symbol Set. Defines the symbol sets that are displayed in the Typeface
menu for Hewlett Packard LaserJet internal fonts.
sb=sl,s2,...s!0 Format of the SB setting, where si, S2...S10 are the symbol
set names.
sb=0u,10u,8u,7J,1u Example of the SB setting.

uo Use Outline. Indicates whether or not a printer accepts downloaded fonts


in Hewlett Packard format. (The initial default is 0.)
uo=0 Printer does not accept downloaded fonts in Hewlett Packard
format.
uo=1 Printer does accept downloaded fonts in Hewlett Packard format.

xs Substitution Character. Defines the character that will be printed when


the requested character is not available. Only applies to characters over
255. (The substitution character defined by XS can be overridden for
individual substitution tables. See "Substitution Tables" later in this
section for more information.)
xs<c Format of the XS setting, where c is the substitution character.
xs<0 Example of the XS setting.
163
Printer Settings (cont'd)

ZL Laser Printer. Establishes whether the printer is a laser printer and


whether it supports landscape printing and envelope printing.
zl=O Non-laser printer; does not support landscape or envelope printing.
zl=1 Laser printer; supports landscape printing and envelope printing in
landscape mode.
zl=2 Laser printer; supports landscape printing but does not support
envelope printing.
zl=3 Laser printer; supports landscape printing and envelope printing in
portrait mode.

ZO Orientation Output. Defines whether orientation codes are sent after the
File Begin statement. This setting was designed specifically for PostScript
printers. (The default is 0.)
zo=0 Sends orientation codes after the File Begin statement.
zo=1 Does not send orientation codes after the File Begin statement.

?X Wild Card. Defines the wild card character for the printer file. The wild
card can be applied to the following five printer file commands:

X Represents the horizontal value of the size command.


Y Represents the vertical value of the size command.
N Represents the font name.
R Represents re-encoding for the PostScript printer file.
? Represents bitmapping.
?x=c Format of the ?X setting, where c is the wild card character.
?x=l Example of the ?X setting.

Once defined, you can use the wild card in font definitions. For example,
in a PostScript printer file, the string) !X !Y Times (will be converted to
) 12 12 Times ( when sent to the printer.

164
Character Mode Table

Intro Printers use attributes to change the way type appears on the page.
Underlining is an attribute, for example. Different printers support
different attributes, and have different rules for how they can be applied.
Refer to the documentation provided with your printer for information on
available attributes and possible restrictions.

PT= The character mode table establishes the order in which attributes are
applied to a font. The best way to describe a mode table is by example:
PT=1
MD NM=(*)
MD BO=(*+BOLD)
MD IT=(*+ITALIC)
MD RV=(*+FORMS)
MD IN=(*+INSERT)
MD DN=(*+DELETE)
MD SU=(*+SUPERSCRIPT)
MD SD=(*+SUBSCRIPT)
MD UL=(*+UNDERLINE)
MD FN=(*)

The first line (PT=1) identifies what follows as a character mode table.
The asterisk is a wild card character that represents the font name. When
XyWrite processes your document for printing, it substitutes the font
name specified in the UP command for the asterisk in the mode table.

The asterisk is followed by one or more attribute names, where


appropriate. (In some printer files, the attribute names precede the
asterisk.) XyWrite uses these attributes when it cannot find a typeface with
the requested mode built in. For example, suppose your text file contains
a paragraph that is in italic. On most laser printers, italic is a typeface
(e.g., Times Italic); however, on dot matrix printers, italic is a printer
attribute that is applied to the current typeface.

You can use several attributes in each mode assignment, as long as the
printer supports them. (Check the documentation supplied with your
printer to determine what attributes can be combined.) Separate attributes
with a plus sign (+); for example:
md bo=(*+emphasized+enhanced)

165
Character Mode Table (cont'd)

NOTE #1 Mode Numbers. You can assign attributes to mode numbers 1 to 255 as
well. For example:
md 32=(*+compressed)
When you use numbered mode commands to format your document, they
will not be displayed correctly in graphic view, although the printed
output will be correct. (See "Display Mode Colors" in the Defaults section
of this document for more information.)

NOTE #2 Additive Modes. Because XyWrite uses additive modes, it is not


necessary to define separate entries for bold underline, bold italic, etc.

166
Graphics Settings

INTRO The graphics settings define the control codes required by the printer to
print graphics. There are nine different graphics settings. Different
printers use the same commands differently, and not all graphic
commands are necessary for every printer. For examples, refer to the
printer files that were delivered with XyWrite.

GB< Graphics Begin String. The control codes the printer needs to enter
graphics mode. It selects data output, saves the current position, or turns
on graphics mode. (See Note #2 for information about using wild cards
with GB.)

Format: GB<$tniig
Example: GB<?<-&f0S<-*t300r<-*r0F^*r1 A

GE< Graphics End String. The control codes that tell the printer to exit
graphics mode. It also restores the printer cursor position if the position
was saved in the GB string.

Format: GE<string
Example: GE<?<-*rB<-&f1S

Bl< Raster Lines. These three settings send raster data. Bl is the Begin Raster
B2< string; B2 is the Additional Raster string; and BE is the End Raster string.
BE<
Format: B1<sirhig
B2<string
BE<string
Example: B1 <?^*b?W8DAW
B2<
BE<

GD< Graphics Draw. The control codes for shading. If the printer has a draw
command, XyWrite uses it when you request shading in an FA (Framed
Area) or BO (Border) command. Using the printer code for shading is
faster than rasterizing.

Format: GD<string
Example: GD<?) s box1 0 -?H1 DA boxlin rlineto ?W1 DA boxlin 0
rlineto 0 ?H1 DA boxlin rlineto closepath ?-1 DA box2 (

167
Graphics Settings (cont'd)

GV= Graphics Variable. Different types of printers handle graphics in different


ways. This setting defines several variables for graphics processing. The
format of the GV setting is:
Format: GV=t,r,d,l,h,f
where t is one of the following printer types:
0 Hewlett Packard LaserJet series
1 PostScript
2 9-pin dot matrix Only Tire one pin at a time;
slower, but higher resolution
3 24-pin dot matrix
4 Hewlett Packard DeskJet
5 8-pin mode printer
6 Interlace mode printer
7 8-pjn and interlace mode printer
8 Printer does not support graphics
r is the ratio of the vertical graphics resolution to printer vertical
movement; it is only used for interlace mode, and is currently always set
to 3 when interlace mode is active.
d is the format of the graphic data bits (0=high to low; l=low to high).
/ is the minimum length of a raster width string. (Typically, this value is
set to 0.)
h is the height of the print head (distance between the top pin and the
bottom pin) in vertical printer units.
/is one of the following settings for the printing device control flag.
0 Directs the printer to use a combination of whole spaces and
microspaces to position the print head horizontally.
1 Directs the printer to use only microspaces to position the print
head horizontally.
2 Directs the printer to output the font/attribute strings in reverse
order.
4 Directs the printer to ouput a carriage return before printing in
graphics mode.
8 Prevents the printer from outputting font/attribute exit strings
before printing in graphics mode.
16 Directs XyWrite to send out the length of raster data defined by I
rather than sending out a line at a time.
You can add two or more values to direct the printer to perform more
than one of the functions. For example, if you set /to 3, the printer
uses only microspaces and it outputs the font/attribute strings in
reverse order.
Example: GV=0,1,0,0,0,8

168
(cont'd) Graphics Settings

GR= Graphics Resolution. The vertical and horizontal resolution of the


printer's graphics modes.

Format: GR=x,y

where x is the number of horizontal movements in an inch and y is the


distance between pins.

Example: GR=300,300

XP< Horizontal Position. This setting is for any printer that has an absolute
position command. It specifies the absolute horizontal position of text and
graphics.

Format: XP<string
Example: XP<?«-*P?Z1DAX

Vertical Position. This setting is for any printer that has an absolute
position command. It specifies the absolute vertical position of text and
graphics.

Format: yptstring
Example: yp<?<-*p?yiday

169
Graphics Settings (cont'd)

NOTE #1 Wild Card Strings. The graphics settings GB, GE, Bl, B2, and BE use wild
card strings to specify XyWrite output data. The first character after the
less than symbol (<) defines the wild card for the setting. The next time
that character is encountered, it is treated as the first character in a wild
card string. The format of the string is:

where c is the wild card character. Any character that is not used in the
printer code can be used as a wild card.
fl determines what part of the graphic XyWrite is supposed to read; it can
be W (graphic width), H (graphic height), T (total number of bytes orbits),
- (horizontal graphic scale), or ! (vertical graphic scale).
f2 is the divider that is applied to fl; it can be 1 (indicating units are
specified in bits) or 8 (indicating that units are specified in bytes).
/3 is the output format; it can be D (decimal) or H (hexadecimal). /3 is only
used when fl is set to ASCII.
fl determines the form in which the values are returned; it can be A
(ASCII format) or B (binary format).

For example:

B1 <?«-*b?W8DAw

In this example, ? is the wild card; «-’b is the transfer raster data code; and
?W8DA is the wild card string that provides the graphic width
information in ASCII decimal bytes.
NOTE #2 GB (Graphics Begin) Wild Cards. In addition to the wild card strings
explained in Note #1, the GB setting accepts two other wild cards: ?B and
?X. These wild cards represent binary data format and hex ASCII data
format, respectively. For example, the following GB command is from an
Epson FX850 printer file:

GB<??B

It indicates that the graphic data is in binary format.

170
Terminator Strings

Intro You can add the following assignments to your printer file to define
printer codes at specific points in the document. (Place each statement on
its own line.)

Soft return LE<sfri«g


Beginning of File FB<sfn'ng
End of File FE<string
End of each page PG<string
Beginning of each page PZ<$tring

LE Line-End String. LE enables you to specify the characters inserted at the


end of each soft-return line (that is, each word-wrapped line). These
characters are inserted into the text as it is sent to the printer. (Hard-
Return lines are handled under PE.)
Format: LE<sfri>ig
Default: LE</
The default setting for the Line-End string is a carriage return (J). You
enter the carriage return character with (Cvi]IShiftl 13.
Example #1: LE< <-
This example inserts only a space at the end of each line — no carriage
return or line feed. If you print to a file (PRINTF) with this setting, the
lines within each paragraph remain wordwrapped (for further editing).
Example #2: LE<«-
This string contains no characters at all. You could use this to send to the
printer thousands of uninterrupted characters, as if they were all one line.
For example, you'd use it when sending a long string of graphics data to a
dot matrix printer in graphics mode — with no line-end characters
inserted.

PB File Begin String. FB allows you to send characters to the printer at the
start of a file.
Format: FB<string
Example: FB<<-G
This example sends an Escape-G at the start of each file. On an IBM
ProPrinter, this causes the characters to print second strike. If the JB (Job
Begin) default is set, those printer codes are sent immediately after the FB
code.

171
Terminator Strings (cont'd)

FE File End String. FE allows you to send characters to the printer at the end
of a file.
Format: FE<string
Example: FE<9
This example specifies that a form feed character be sent to the printer at
the end of each file. This would eject the last page in most printers. The
default FE statement contains the code to reset vertical spacing to 6 lines
per inch.
PG Page End String. The PG (Page Break) setting lets you send a character
string to the printer at the end of pages.
Format: PG<string
Default: PG</S9
The default sends carriage return, line feed, and form feed to the printer at
the end of each page. If you use the PG setting, it is important to include
the carriage return and line feed characters if you want the first line of the
next page to print correctly. PG does not normally send the string after the
last page of a file. To do that, you must specify DEFAULT FF=1 and
DEFAULT EJ=1.

Page Begin String. The PZ (Page Begin) setting lets you send a character
string to the printer at the beginning of pages. It was implemented in
Version 1.01 specifically for the Hewlett Packard LaserJet series of printers
(and compatibles).

Format: PZ<string
Example: PZ«-*P0X*-*P0Y

172
Vertical Spacing

Intro The vertical spacing section of the printer file contains the VU (Vertical
Unit) setting and the VS (Vertical Spacing) table, each of which is
described in detail below.

vu= Vertical Unit Setting. The VU (Vertical Unit) setting in the printer file
defines three separate vertical spacing specifications. Its format is:
VU=x,y,z
The first value (x) defines the number of minimum vertical movements the
printer must make to equal 1/6 inch. Whenever you issue a Vertical
Spacing command (LL, LS, EL), XyWrite multiplies the value in that
command by x. For example, if x is 50 and you issue a Line Spacing
command of LS 2, XyWrite sends instructions to the printer that it must
move an amount equivalent to 100 minimum vertical movements (50 x 2).
The second value converts the output units into screen lines. It affects the
way files are displayed on the screen when you are working with tables or
when you type to screen with PRINTS.
The third value determines how many decimal places can be used when
specifying line spacing, form depth, and other vertical format commands.
It is always 100.

VS: Vertical Spacing Table. The Vertical Spacing Table, which is optional,
allows you to specify the printer codes for incremental vertical spacing.
VS: is the vertical equivalent of CP: (see "Microjustification" later in this
chapter). This table starts with VS:w, where n is the number of lines of
code that follow. The next lines are the code directing the printer to move
one vertical unit, two vertical units, and so on. For example:
VS:4«-

ET<-
The more entries in the VS table, the more efficient the printer is,
especially for large vertical spaces. For example, if your printer moves in
points and your table has only 2 entries (1 point, 2 points), moving 1 inch
requires 36 movements of 2 points. However, if the table has 36 entries,
moving 1 inch requires only 2 movements of 36 points.

NOTE Default Value. If there is no VS table in the printer file, the built-in default
value is a carriage return, and the default VU is 1,1,100.

17|
Microjustification

Intro When you print a document, the XyWrite default is to print the text flush
left, with a ragged right edge. This is unjustified text. By embedding a JU
format command in your document, the text which follows will be printed
justified — that is, with text flush against both margins. XyWrite justifies
text by adding spaces between characters to stretch lines to the same
length.

XyWrite offers two ways to justify text:

Whole-Space Justification works by adding whole spaces between the


words.

Microjustification, however, adds space in fractional pieces between


words and characters, rather than whole spaces only between words. We
call these partial spaces. The advantage is that the text has a smoother,
more refined appearance than with Whole Space Justification.

We have set up each printer for the highest quality printing —


microjustification — if the printer supports it. However, microjustification
can slow down some dot matrix printers significantly. If this is a problem
you can set the printer file to whole-space justification (see Note #2).

The following settings control microjustification and relate format


commands and screen display to type. You enter them into the printer file.
These settings take effect only after you load the printer file with the
LOAD or SETP command.

pu= Printer Units — The PU setting converts printer units to internal units.
Internal units are used by XyWrite to calculate line breaks, page length,
and graphic distances. The format of the PU setting is:
PU=h,i>
where h is the number of horizontal movements per inch and v is the
number of vertical movements per inch. To calculate h, multiply the value
of MU by 10; to calculate v, multiply the first value in the VU setting by 6.

MU= Margin Units — The MU setting specifies the number of basic units in
1/10 inch. (A basic unit is an internal number used by XyWrite to
calculate spacing.) Margin units are the units used in the LM, RM, TS and
IP commands.

174
(cont'd) Microjustification

DU= Display Units — The DU setting specifies the number of basic units in
1/10 inch. Display units are used in determining the tabs and margins on­
screen. DU is usually set the same as MU (Margin Units).

MS= Microspace Units — The MS setting specifies the number of printer


escapement units in a margin unit. This setting may be different than MU
for printers with character spacing different from print-head escapement,
such as the Hewlett Packard LaserJet.

CP: Character Pitch —The CP setting specifies the printer codes for
incremental horizontal spacing. CP is the horizontal equivalent of VS.
This table starts with CP:n, where n is the number of lines of printer codes
that are to follow. The next lines are the code directing the printer to
move one horizontal unit, two horizontal units, and so on. For example:

CP:5
*-K@
«-K8
«-KV

<-K*
SC= Space Constant —The SC setting specifies the number of partial spaces
inserted between words before inserting space between characters within
a word. The SC setting is typically set to 3 or 4.
SF= Space Factor — The SF setting specifies the ratio of partial spaces added
between words to those added between characters within a word after the
SC spaces have been allocated. A larger number means more spaces will be added
between words before they are added between characters.
JL= Justify Underline — The JL setting enables (JL=1) or inhibits (JL=0)
justification of text printed in the underline mode (MD UL) (see Note #3).
JL is the same as JU.
JT= Justification Type — The JT setting is reserved for future use. AU printers
currently require JT=0.
NOTE #1 How Partial Spaces are Allocated. Before XyWrite prints a line, it
calculates the number of spaces by which the line would faU short of the
right margin, and then distributes those spaces between characters
according to the values given for the Space Constant and the Space Factor.
With SC=5 and SF=2, the first 5 partial spaces are added between words.
After those spaces have been aUocated, spaces are added in the ratio of 2
between words for every 1 between adjacent characters.

175
Microjustification (cont'd)

NOTE #2 Selecting Whole Space Justification. To disable microjustification and


select whole-space justification, call up your printer file and insert the
statement DF WS=1 on a line by itself. To switch back to
microjustification, use DF WS=0 instead.
NOTE #3 Justify Underline. If you use JI_=1, depending on the length of your
printer's underline, there may be gaps between adjacent underlines. This
is due to the partial spaces added between characters. If there are gaps,
you should set JL=O in your printer file.
Note #4 Try Hyphenation. Microjustification is an aesthetic feature — it makes
your printed copy look better. But occasionally when a long word wraps
to the next fine, the line can look very stretched when printed. You can
turn on automatic hyphenation or add soft hyphens to the long words to
break them up.

176
Attribute Tables

Intro An attribute is a printer effect that modifies a font. Typical attributes are:

Underline
Superscript
Subscript
Italic
Bold
Emphasized
Insert
Delete
Forms

AT: An Attribute Table contains the control codes for each attribute (or
printing effect). The format of an attribute table is:

ATJabel
AT<on code
AT > off code
ET

The first line (ATdabel) defines the name of the attribute; the second line
(AT<oh code) defines the printer code that turns on this attribute; the third
line (AT>off code) defines the printer code that turns off this attribute; and
ET ends the table.

If you look at a printer file, you will see that there are already a number of
these attributes defined, including the most common printer effects
(underline, superscript, subscript, etc.) and the attributes for printing text
that has been edited with Redlining on.

AT= Attribute Value. This optional setting, which you enter in the Attribute
Table as AT=v, uses the same values as the Font Value (FO=) setting
described later.

177
Font Tables

Intro A font is a printer typeface, such as Courier or Helvetica. In some


printers, a font may include a family of typefaces (bold, italic, etc.), and it
may also be related to a type size and orientation. For most printers,
XyWrite stores the font and width information in the printer files. For
Hewlett Packard LaserJet printers (and compatibles), the font and width
information is stored in a binary file (LJ.B1N or LJ3.BIN). :

A Font Table contains the printer codes to access a particular character set. ;
It can also contain the value of vertical leading (VL) associated with that
character set and references to both a Substitution Table and a Width
Table. (See "Terminology ” earlier for examples of fonts.)
The following example of a font table is from the Panasonic 4420 printer
file:
FO:CENTURY
FO<^(10U<-(s1 p10v0s3b23T
sz=10
md=bo
fy=1
vl=50
UW:10CENT-BOLD-10U
US:PCSYMBOL
ET

FO: The FO: line defines the name of the Font Table, CENTURY. You can
name the Font Table anything you want (as long as it is one word), and
use the same name for different type variations within a type family (see
MD=).

FO< The FO< line contains the control codes that the printer needs to enter the
CENTURY font. For more information on control strings, see "String
Operators" which follows.

SZ= The SZ line establishes the point size of the font being defined. (If the
printer uses scalable fonts, the value in the SZ line is always -1.) The SZ
line applies only to printers that support a range of point sizes.
The default size is established at the beginning of the printer file (DF
SZ=12) as 12 point. The SZ formatting commands in your documents
override the default setting.

MD= The fourth line (MD=) defines the font variation defined by this font table.
Legal font variations are normal, bold, italic, bold italic, superscript, and
subscript (abbreviated nm, bo, it, bi, su, and sd).

178
(cont'd) Font Tables

OR= The OR (Orientation) setting is used with printers that have separate fonts
for landscape and portrait orientation. The format is:
OR=n
where n is 0 (for portrait orientation) or 1 (for landscape orientation). The
default is 0. (If OR=1, the third value of the PM printer setting must also
be set to 1.)

FY= The FY (Family) defines the font family for this typeface. The format is:
FY=n
where n is 1 for serif; 2 for sans serif; 3 for monospaced; 4 for script; and 5
for decorative.

VL= The next line (VL=) defines the vertical spacing, or leading value,
associated with this font. VL is most useful for printers that support a
range of point sizes, because it allows you to change from one type size to
another within your document and have the leading change
automatically. (VL is used only when Automatic Leading is on.) If the
laser printer has scalable fonts, then XyWrite multiplies the value in the
VL line by the point size to determine the leading (e.g., for 10 point type,
the leading is 12 (10 X 1.2). If the printer does not have scalable fonts, the
value in the VL line defines the leading for the specific point size.

The standard formula for calculating the value of VL is:


1. Add a modifier to the point size to allow white space between printed
lines. The modifier can be any number you want, but the suggested
values are: 1 for point sizes between 1 and 8; 2 for point sizes between 9
and 14; and 3 for point sizes over 14. For example, for 8-point type:
8 + 1=9
2. Divide the result of step 1 by 72. For example:
9/72 = .125
3. Multiply the result of step 2 by the second number in the PU (Printer
Unit) command. For example:
.125 x 216 = 27

UW: UW: (Use Width Table) indicates which width table defines the width of
the characters in this font.

US: US: (Use Substitution Table) indicates which substitution table is used
with this font.

179
Font Tables (cont'd)

FO= Font Value. The FO setting is an optional setting that controls several
aspects of how your text looks — from underlining to microjustification.
Enter the FO setting in the Font Table of the printer file. The format is:
FO=v
where v (value) is a decimal number. The values that can be used are
made up of combinations from the table below (For example, if you want
to use combinations 1 and 4, then the entry would be FO=5.)

Value Usage
1 Do not output the exit string for the font when
microjustifying. This allows underline mode on certain
printers to be microjustified. (Assumes that there is an
MM mode in the printer table.)
2 Do not output exit string for the font when
microjustifying, and do not output the entry string when
returning from microjustifying. This is used for
superscript or subscript on printers that roll the carriage
up or down.
4 Print soft hyphens in the current mode.
8 Allow microjustification of this font (overrides the JU
setting).
16 Don't allow microjustification of this font (overrides the
JU setting).
32 This is a foreign language font (which is basically used
with special software that recognizes character sets in
extra memory such as on an EGA card).

PS= PostScript Flag. Indicates whether the PostScript re-encode information in


the FB (File Begin) statement is to be loaded into memory. The format is:

PS=H

where n is 0 if the re-encode information is not to be loaded and 1 if it is to


be loaded.

ET ET (End Table) marks the end of a Font Table.

180
(cont'd) Font Tables

ON; CN: (Cartridge Name) defines the set of fonts on a particular cartridge for
all printers except Hewlett Packard LaserJets and compatibles (see Note
#3). Cartridge sets must be defined after the last of the internal font
definitions. (In standard XyWrite printer files, STANDARD is the last
internal Font Table.)
The format of CN is:
CNdabel
font-tablel
font-table2

font-tablen
where label is the name of the cartridge and font-tablel...font-tablen are the
Font Tables for the fonts on the named cartridge. A cartridge set includes
all the Font Tables between CN commands, between a CN command and
an SN command, or between the last CN command and the end of the
printer file. For example:
CN:CENTURY
FO:CENTURY
FO«[80C<-[23y<-)’1<-[7l
FO>^(B<-[OK<-[23m«-[22m
MD=NM
SZ=8
VL=40
UW:CENTURY8M
ET

FO:CENTURY
FO<«-)’1 «-[7l«-[3m
FOx-(B<-[OK«-[23m<-[22m<-[Om
MD=IT
SZ=8
VL=40
UW:CENTURY8I
ET
This example defines a cartridge named Century that contains two fonts:
8-point Century normal and 8-point Century italic.
XyWrite's menus use the CN setting to determine which font names to
display in the Typeface dialog box when a cartridge is selected.

181
Font Tables (cont'd)

SN: SN (Soft Font Name) identifies the soft fonts supported by this printer file.
This information is used to create the list of available soft fonts displayed
by the menus. (The SN command is not used for Hewlett Packard LaserJet
printer files or compatibles. XyWrite gets soft font information for this
class of printers from the soft font files that are downloaded to the
printer.)

The format of SN is:


SN-.diskname menuname comments
where diskname is the name of the soft font as it is stored on disk;
menuname is the soft font name you want displayed in the menus; and
comments (optional) is any font information you want displayed in the
menu. For example:
SN:3tms27.rm8 Times 8U Medium

NOTE #1 Generic Font Table. The first Font Table in every printer file is a generic
one that defines the wild card used in the Character Mode Table described
earlier. The format of this table is:

FO:*
ET

Note #2 Standard Font Table. The last internal Font Table in every printer file
defines the STANDARD font, which is a 10 character-per-inch
monospaced font. This is the default font which is used by XyWrite to
format your documents when no other font is specified. If you define
cartridge sets (with the CN command), enter those definitions after the
STANDARD Font Table.

NOTE #3 Hewlett Packard LaserJet Printers and Compatibles. XyWrite gets the
font information for cartridge and internal fonts for LaserJet printers and
compatibles from the binary font files LJ.BIN and LJ3.BIN which are
shipped with XyWrite.

182
String Operators

< String Operators. In both the Font Tables and the Attribute Tables, you
can specify the printer codes that are sent to the printer. For example:
V

AT<^U or FO«-p1

Each statement includes a name (AT or FO), an operator (<) and a string
(«-U or <-p1).

The string is the series of printer control codes, and can be any number of
characters. The operator tells XyWrite to insert the string into the text in a
specific manner:

< insert string upon entering the character mode


> insert string upon leaving the character mode
# insert string after each character in the mode
% insert string before each character in the mode
* insert string in place of each character in the mode

The pound (#) and percent (%) symbols are used along with the backspace
character (0), mainly for overstrike.

Entering a Mode
Format: AT<string
Example: AT«-U
The two characters Escape («-) and U are inserted into the text string at
the start of the attribute.

Leaving a Mode
Format: AT>string
Example: AT>*-D
The two characters Escape («-) and D are inserted into the text at the end
of the attribute.

Overstrike Character
Format: ATflQs/rin#
Example: AT#Q-
The string "backspace, hyphen" is sent after each character. Thus,
every character is overstruck with a hyphen. A special case of this
follows.

183
String Operators (cont'd)

Double-Strike Character
Format: AT#Q
The string "backspace, space" is a special case — it causes the printer
to move back and print the same character again. (Notice that it does
not move back and print a space.)

Pre-Strike Character
Format: AT%stri?ig
Example: AT%-D
The string "hyphen, backspace" is sent ahead of each character. Thus,
the hyphen is printed, then overstruck by the next character.

Non-Printing Character
Format: AT'string
Example #1: AT*
Every character is removed and replaced with a single space. Thus,
this is the non-printing mode, useful when spaces and all characters are
the same size. (When using proportionally-spaced characters, each space is
narrower than the characters they replace. This can present
unexpected results.)
Example #2: AT‘<-
Every character is removed altogether (and replaced with nothing).
This is also a non-printing mode — the displayed characters do not
take up any room on the printout.

184
Width Tables

Intro Different fonts have different character widths, and within proportional
fonts, different characters are assigned to different widths. XyWrite uses
this width information to determine how many characters will fit on a line
of text.

WD: A Width Table defines the widths of characters. The table begins with
WD (Width Define) and SW (Standard Width) and ends with ET (End
Table). SW and the other lines specify, the width of characters—the
characters are listed on the left of the equal sign (=), and the width is given
on the right. The width is given in Basic Unit^ (also called Width Units) —
the smallest incremental width of which your printer is capable. If the
printer uses scalable fonts, the widths are defined for 1-point fonts only.

To keep the list orderly, after SW we list the characters in order of size,
narrowest first. For example:
WD.HELVETICA
SW=20
l.:=10
1=15
ij=16
bpqv=26
WXM=30
ET<-

SW (Standard Width) specifies the width of all characters not otherwise


specified in the table. You normally assign SW to the width that applies to
the most number of characters. This prevents you from having to
specifically list those characters in the Width Table.

NOTE #1 Determining Width Information. Ideally, the width information for a


font is supplied by the font manufacturer. If you do not have that
information, use the following procedure:
1. Create a test file and enter a line for each XyWrite character, starting
with character 32. Each line should have the format:
htnnnnnnttnnnnnnnnnnnnnnnnnl# *
where ! marks the beginning and end of the character printout; rt is 25
repetitions of the character being tested; and # (optional) is the
character number.
2. Print the file.
3. Measure the width of each 25-character line. Don't include the
exclamation points or the character number in your measurements.

185
Width Tables (cont'd)

4. Divide each measurement by 25 and multiply the resulting number by


the first number in the PU (Printer Unit) setting.
If the result of your calculation is a fraction, you need to convert it to a
whole number. You can either round it off to the nearest whole
number or you can "scale up." To scale up, you multiply all the
widths (in every width table in the printer file), as well as the MU and
DU values, by a common denominator.
5. Create a width table in the printer file and enter the width information.
Once the width table has been created and loaded into memory, you can
test it using the following procedure.
1. Create a test file.
2. Enter the UF command that will test the width table you just created.
3. Tum on justification (JU) and set the right margin to 3 inches.
Type: [niJjuH
Type: [wjrm 3(^1
4. Enter a line for each XyWrite character. Start each line with an
exclamation point; type an LD command with the character as an
argument; and then end the line with an exclamation point. For
example:
Type: 1
Type: [F5]ld a|U|
Type: 1
Result: This creates a 3-inch wide line of lowercase a's which are
preceded and followed by an exclamation point.
5. Print the file.
6. Examine the printout for places where the right margin is out of
alignment. If you find any, make one of the following adjustments:
If the line is too short, decrease the width of that character in the test
printer file by one or two units and print the file (or section) again.
If the line is too long, increase the width of that character in the test
printer file by one or two units and print the file (or section) again.
7. After modifying the widths, make sure you store and reload the printer
file before printing again.
8. If the widths are still not right, repeat steps 3 and 4 until they are.

NOTE Character Widths. The width tables reflect the actual width of the
characters. Changing the width size does not affect the size or shape of
the characters.

186
Substitution Tables

Intro Your printer may be capable of printing characters that are not part of the
XyWrite character set. To enable you to access those characters, XyWrite
uses a Substitution Table.
SU: A Substitution Table specifies how displayed characters are to be printed.
It allows you to construct graphic symbols and math signs, for instance, or
to print characters that are not part of the XyWrite character set but are
part of the printers character set. The format of the Substitution Table is:
SU:na?He,x

d=p
d=p
ET
where name is the name of the substitution table; x (optional) is a generic
substitution character that is printed when the requested character is not
available (it overrides the XS printer setting); d is the displayed character;
p is the printer character or printer codes used to create a character. SU:
and ET start and end the table.
The following example is a portion of the Substitution Table from the
PostScript printer file:
SUlSUB
a=\276
A=\311
a=\331
A=\342
ET

NOTE #1 Common Names. Width Tables, Substitution Tables, and Font Tables can
all use the same names. The only constraint is that Attribute Tables and
Font Tables should not have the same names.

NOTE «2 Hewlett Packard LaserJet Printer and Compatibles. The Hewlett Packard
LaserJet printers (and compatibles) provide several symbol sets. By
default, the XyWrite printer files associate a particular symbol set with a
font. If you want to use a different symbol set, you must create a Font
Table that references the Substitution Table you prefer. (The Substitution
Tables already exist in the printer files.) The Font Table must have a
unique name, and must be supported by a Width Table.

187
Notes
Sort File

INTRO Every time you create an index, display a directory, or execute a SORT or
SORTO command, XyWrite arranges the file in a predefined way. If you
wish, you can customize the sorting order to match your needs.

Contents paSe Section Command


190 Creating the Sort File
. Sorting to a Sequence of Letters
Loading the Sort File LOAD

189
Sort File (cont'd)

Purpose XyWrite has an internal set of sorting rules that automatically arranges
directory listings, index entries and sorted files in alphabetical order and
makes other prioritizing decisions. For example, in multi-word entries,
XyWrite alphabetizes the first word only, unless more than one entry has
the same first word. The result is a list of entries that looks like this:

wild alphanumeric, 6-56


wild letter, 6-57
wild number, 6-50
wildcard, 6-55

You can change the default sorting order by creating a new sort file that
lists the XyWrite characters in the order you want them sorted. (XyWrite
characters include letters, numerals and other symbols. The complete list
is in Appendix E.) You can also tell XyWrite that you want a character
evaluated as a character string (for example, treat ii as "ue" for sorting
purposes).

Action Creating the Sort File


The sort file contains a list of characters in the order in which you want
them sorted. The first line of the file contains the identifying label (;SO;)
that tells XyWrite that it is a sort file. The next line contains the character
or characters that you want to have sorted first in your list (e.g., aA). The
third line contains those characters that you want to have sorted second,
and so on.

Any characters that you omit from the sort file are ignored when you create an
index.

Let's create a sort file that builds alphabetical indexes, but ignores spaces
between words in multi-word entries. It would sort the example above
like this:

wild alphanumeric, 6-56


wildcard, 6-55
wild letter, 6-57
wild number, 6-50

1. Create a new file in which to store the sorting information.


Type: (Fsjnew nospace.srt0
2. On the first line, enter the label that identifies the file as a sort file.
Type: ;SO;

1<?D
(cont'd) Sort File

3. On the next line, enter the characters to be sorted first. In this example,
we leave the space out of the file altogether (normally, it would be the
first character in the file).
Type: aA

4. Continue entering all characters that you want to have included in


your sort. Be sure to enter them in the correct order; those characters at
the top of the sort file will be sorted first. For example:
Type: bB
cC
dD

zZ

5. Include all characters that you want the sort character to use. In this
example, omit the blank space from the list.

6. Store the sort file and then load it using the procedure "Loading a Sort
File."
Type: [«]st£j]

ACTION Sorting to a Sequence of Letters


To sort a single character as a sequence of characters, you enter the
following definition in the sort file:
c=string
where c is a single character and string is the group of characters that
defines the sort order for c. For example, if you want "ii" to be treated as
the string "ue" when you sort, make the following entry in the sort file.
ii=ue
You can put this entry anywhere in the sort file, but we recommend
putting it at the beginning of the file, right after the line that defines the
file label (;SO;).

ACTION Loading a Sort File


To load a sort file into memory, enter the LOAD command along with the
name of the sort file you want to load. For example, if you have created a
file called NOSPACE.SRT:
Type: [fs]load nospace.srt0
Result: The sort file NOSPACE.SRT is now in effect.
191
Sort File (cont'd)

NOTE #1 Startup. In order to use a sort file you have created, you must first load it
into memory. You can have your sort file automatically loaded at startup
by adding a line to your STARTUP.INT file. For example, the following
entry loads a sort file named TABLE.SRT.
BC load table.srt*-
Refer to "Startup File" for more information on modifying STARTUP.INT.

Note #2 Sort Key. When XyWrite arranges (or sorts) an index, it uses the first 80
characters in each entry to determine where the entry belongs in the list.
This number is called the sort key. You can reduce the amount of memory
required to arrange the index by reducing the size of the sort key. To
change the size of the sort key, use the DEFAULT command to enter the
SK (Sort Key) setting. (See "Default Settings" for more information.)

Note #3 SO (Sort) Setting. In addition to the order established by the sort file, the
SORTD command uses the values established by the SO default setting.
Refer to "Default Settings" for more information about SO. (The SO
setting has no impact on the order of indexes, directory listings, or lists
sorted with the SORT command.)

NOTE #4 Directory Listings. The DSORT command also gives you some options
for changing the order in which directory listings are displayed. For
example, DSORT allows you to sort files in reverse alphabetical order. For
information on the DSORT command, refer to Chapter 2 of the Command
Reference Guide. (The DSORT command has no impact on the order of
indexes or lists sorted with the SORTD or SORT command.)

192
Startup File

INTRO The STARTUP.INT file enables you to customize XyWrite to your needs.
With it, you can tailor the initial conditions, such as loading a printer file
for your printer and loading your own keyboard file.

If you are familiar with DOS, you'll notice the similarity between
STARTUP.INT, which initializes XyWrite, and AUTOEXEC.BAT, which
initializes DOS. It doesn't take much time to leam about the
STARTUP.INT file, since there are no new commands to leam.

Contents Section

194 Running the STARTUP.INT File


194 Modifying STARTUP.INT

193
Startup File (cont'd)

Purpose STARTUP.INT is the initial startup file for XyWrite. It contains


commands that are automatically executed every time XyWrite is started
up, which enables you to custom tailor the program. For example,
STARTUP.INT can log you on; load your keyboard, help, and menu files;
select the printer; load cartridges; set the order that filenames are
displayed in directories.

STARTUP.INT is actually a program file (see "User Programming" for


more information on program files). XyWrite comes with a simple
STARTUP.INT file, which you can modify to include any commands you
want.

Action Running the STARTUP.INT File


You can run STARTUP.INT either automatically or manually.

• Automatically. Each time you start XyWrite, STARTUP.INT runs


automatically:
1. Start at the DOS prompt (for example: C>).
2. Type: editor^
Result: XyWrite is loaded, the familiar XyWrite screen appears and
STARTUP.INT runs automatically. Each command in the file is
executed in sequence, appearing briefly on the command line. Upon
completion, the XyWrite opening screen is displayed.

• Manually. While in XyWrite, you can run STARTUP.INT any time


you want to reinitialize the program:
1. Store any documents you are working on before you run
STARTUP.INT.
2. Type: (Fsjrun startup.int0
Result: XyWrite executes each command in the file one after another.

Action Modifying STARTUP.INT


The following procedure shows you the simplest way to modify the
STARTUP.INT file. As an example, the procedure adds the CART
command to automatically load cartridge fonts during startup.

1. Call the existing STARTUP.INT file to the display:


Type: [Fsjcall startup.intH

2. Move the cursor to the line after the line containing the SETP
command. Make sure you are in Insert Mode.
194
(cont'd) Startup File

3. Each line in STARTUP.INT must begin with a function call. Most lines
begin with BX, a function call that indicates that what follows is a
command. One way to enter this function call is to copy an existing
line in the file. Alternatively, you can issue the following command:
Type: [F5]pfunc bx0

4. Enter the CART command, followed by a one-, two-, or three-character


abbreviation for the cartridge you want to load. If you include more
than one name, separate them with commas. For example:
Type: cart a.QtIZil

5. Enter the function call Q2, which tells XyWrite to execute the
command on this line. If you copied an existing line in step 4 above,
the Q2 will already be there. Otherwise:
Type: [fsjpfunc q2@

6. (Optional) Type a comment after the Q2 function call. Comments start


with the string For example:

Type: load cartridge fonts

7. Press: CT

8. Store the file:


Type: [F5|storeCT

9. Test the file:


Type: [F5]run startup.intCT

Result: The commands in the STARTUP.INT file are executed one at a


time, although they do not appear on the command line. The command,
CART, will now automatically load your font cartridges whenever you
start XyWrite.

NOTE #1 Order of Commands. The order of commands in STARTUP.INT can be


very important when setting defaults. The rule is: The last setting takes
precedence. For example, in Case 1 below, if SETTINGSDFL sets the
offset to OF.8IN,.81N (with the statement DF OF=.81N,.8IN), then the
offset would be overridden by the next statement, DEFAULT
OF=1.2IN,1.2IN.
Case 1:
BX load settings.df IQ2 <-
BX default of=1.2in,1,2inQ2 <-
195
Startup File (cont'd)

Similarly in Case 2, DEFAULT OF=1.21N,1.21N is overridden by the


default settings in SETTINGS.DFL.
Case 2:
BX default of=1,2in,1.2inQ2 <-
BX load settings.dflQ2 <-

NOTE #2 Alternate Startup File. If you want, you can specify the name of an
alternate startup file for XyWrite to run. For information on how to do
this, refer to Chapter 2 of the Command Reference Guide.

196
User Programming

User programming involves using XyWrite Programming Language (XPL)


to write a variety of customized application programs. You can make
your programs as simple or as sophisticated as you want — you can
record any sequence of keystrokes and create a program for later
execution or you can use XPL commands to add more power and
functionality to your programs.

Contents page Section


198 User Programming
199 Procedures for User Programming
199 Creating and Running an XPL Program
200 Entering XPL Commands
201 Revising XPL Programs
202 Function Calls
203 Macros
204 XPL Commands
204 Commands that Return Values
205 Flow Control Commands
206 Macro Commands
209 Miscellaneous XPL Commands
217 XPL Operators and Functions
217 Arithmetic Operators
217 Logical Operators
217 Relational Operators
218 String Functions
218 String Operators
219 Examples
219 Creating and Running a User Program
221 Testing for a Carriage Return
221 Evaluating Keyboard Input and Branching

NOTE #1 Programming Background. This section contains advanced programming


material and is not recommended for beginners. You need some program­
ming background to get the full benefits of the programming features.

197
User Programming

PURPOSE User Programming extends the power and functionality of XyWrite. You
can create new functions based on combinations of existing functions to
bring convenience and speed to your daily work.

For example, you can create procedures that accept keyboard input, such
as an order entry system. You can also write user programs to accomplish
complex editing tasks that conditionally require a change to be made. For
example, you can create a program that removes list entries dated prior to
a certain date.

User Programming commands enable you to:


• Save values to 1000 macros (00-999) during program execution
• Save strings, subroutines, or expressions in a macro
• Use the contents of a macro in an expression
• Divide the contents of a macro into parts, extract the parts, and then
save them to other macros
• Insert the contents of a macro at the cursor position
• Clear macros from memory
• Branch on a condition (IF Statement)
• Test for errors
• Stop to wait for keyboard input any time during program execution
• Pass values to a program as it starts
• Determine the current cursor position
• Make use of the current filename, path, page number, line number, and
other XyWrite values and settings
• Label a point in the program
• Jump to a label
• Switch to the window that contains a specific file
• Use operators and functions to perform various tasks in your program
• Produce an audible signal at a point in your program
• Use the XPL debugger when testing your program to pause execution
at certain points
• Execute a command from within a program without clearing the
command line

198
Procedures for User Programming

Creating and Running an xpl Program


The following provides an overview of the basic procedure for creating a
user program. An explanation of most of the commands and functions
described here are provided elsewhere in this section.

Step 1 — Plan the Program. Analyze the steps you'd take if you
manually performed the task. You can then prepare a list of
instructions to tell your computer how to do the same task
automatically. If the task is complex, you may find it helpful to draw a
flowchart. Consider all possibilities and try to anticipate problems.

Step 2 — Create or Call a Program File. Use the NE (New) command


to create a program file or the CA (Call) command to open one.

Step 3 — Write the Program. Turn on program mode and type the
exact keystrokes for the procedure you want. I Scroll Lock) turns program
mode on and off. When program mode is on, XyWrite displays an "S"
at the top right of the screen, displays a message on the status line, and
records all your keystrokes as function calls in your program file.

You use the PFUNC (Put Function Call) command to insert function
calls not assigned to keys into your program. (Be sure to turn off
program mode before using the PFUNC command.)

When you are writing XPL programs, you can use macros to save
strings or values. XyWrite provides one thousand programming
macros, numbered 00 to 999, for use in XPL programs.

Record the keystrokes that represent the actions you want to occur
when the program begins execution. When you reach a point in the
program where you want to insert an embedded command, turn off
program mode by pressing IScrolLockl. Type in the desired embedded
commands. Each time, press [fsJ to move to the command line, enter
the command, and press [F9].

You can make your programs easier to read by including notes or


comments throughout the program file; for example, to explain the
program's purpose or to identify different sections of the program. Use
the string ;*; in a program file to indicate that the text that follows is a
comment. A comment can be as long as you want; and you can include
as many different comments in a file as you need. A carriage return
marks the end of a comment.

When you are finished entering the program, be sure to tum off
program mode.
199
Procedures for User Programming (cont'd)

Step 4 — Store the Program. When the program is as you want it,
store it on disk. You cannot run your program until it is stored on
disk.

Step 5 — Test and Debug the Program. Try out your program to see if
you get the results you expected. Use the RUN command to execute
the program.

Default DB (Debugger) enables you to execute your program one


element at a time so you can verify that the program is doing what you
want. Turn debugging on before you run your program by setting the
DB default. Refer to "Default Settings" for more information.

Step 6 — Load the Program to a Key. This step is optional, but it


makes using your program easier. You use the LDPM (Load Program)
command to load a program created in program mode to a key.

If you want to keep the program file loaded on the macro key for use
after you quit XyWrite, use the STSGT (Store Macro) command.

ACTION Entering XPL Commands


Many XPL commands are embedded commands, and you enter them in
your program as you would any other embedded XyWrite commands.
Before inserting an embedded command, be sure program mode is off.
After you press [F9] to enter certain of these embedded commands in your
program, XyWrite opens a command window so you can include an
argument for the command. Press [Shift] [fT] to close the window when you
have entered the appropriate argument. (To abort the command window,
press [Esc].) For example, to enter the command: «SX01,« RC»»:

1. Enter the SX command:


Type: [F5]sxfcj]

2. Type the rest of the command in the command window:


Type: Ol,[F5]rc0
Press: IShitlfFi]

?0fl
(cont'd) Procedures for User Programming

You can also use expanded view for typing or modifying commands. For
example, to enter the command: « SX01,« RC» »:
1. Press: IctrillFa] to switch to expanded view.

2. Move the cursor where you want to insert the command, and:

Press:
Type: SX01
Press: [CtHIR
Type: RC
Press: fcviir>i
Press: ictrtir*!

3. Press: [fs] to return to draft view.

ACTION Revising XPL Programs


To revise a user program, you need to switch to expanded view to reveal
all embedded commands:

1. Call up the program file you want to revise using the CA (Call)
command. For example, to revise the file EXERCISE. PGM:
Type: [psjca exercise. pgmITil

2. Press: ICtril [F8j to switch to expanded view.


Result: The markers no longer appear — the commands are displayed
expanded within double angle brackets.

3. Insert and delete any commands you want removed from the program
including their surrounding double angle brackets.

4. Press: [F8| to switch to draft view.


Result: The commands that were expanded on the screen are now
shown as markers.

201
Function Calls

Function calls are two-letter instructions that represent basic XyWrite


activities. Some function calls are assigned to keys and some are not.

In a program, XyWrite function calls look like two bold letters followed by
a space; however, they are unique, single-unit representations that must
be created either by using program mode or by using the PFUNC (Put
Function Call) command.

After you press |Saoii lock] to turn program mode on, every key you press
that is not an alphanumeric character causes XyWrite to record the
function call assigned to that key into your program file. For example, if
you press (fs|, XyWrite enters the function call BC (Blank the Command
Line) into your program.

You can use the PFUNC command to insert function calls into your
program even if they are not assigned to keys. Be sure to tum off program
mode before using the PFUNC command. For example, to enter the NM
(No Markers) function call, which hides all embedded command markers
and paragraph-end arrows
Type: [Fsjpfunc nmfcl

Refer to the section "Function Calls" elsewhere in this document for a


complete list of all XyWrite function calls. You can use all of those
function calls in programs except TS (Toggle Scroll Lock). TS cannot be
entered into a program file, since you use it to begin and end the recording
of a program.

Two function calls especially useful in XPL programs are BC (Blank the
Command Line) and BX (Blind Execute).

The BC function call clears the command line and moves the cursor to the
start of the command line. Example: BC ca testXC

The BX function call executes a command from within a program without


moving the cursor to or clearing the command line. If the command and
any arguments are enclosed in parentheses (), square brackets [ ], or curly
braces (), XyWrite executes the command automatically.
Example: BX (ca test)

Otherwise, if they are not so enclosed, you must use the Q2 (Execute)
function call with the BX function call to execute the command. Q2 is
useful for executing a command string that may contain parentheses,
square brackets, or curly braces. Example: BX ca testQ2

202
Macros

Macros are storage areas, or buffers, you can use to save strings or values.
XyWrite provides several types of macros: ordinary, programming, and
additional programming.
• Ordinary Macros: A-Z, 0-9
These are the macros that you usually access with the [fs] keys. They
are "permanent" in that their contents remain intact when the program
stops running.
• Programming Macros: 00-999
These one-thousand macros can be used only within an XPL program.
The contents of programming macros 00-99 are saved only while the
program is running and vanish at the end of each program. The
contents of programming macros 100-999 remain intact until either
they are overwritten or you quit XyWrite. Ordinary macros 0 through 9
are distinct and separate from programming macros 00 through 09.
• Additional Programming Macros: &A-&Z, &0-&9
These can be used only with the LDPM (Load Program) and the RUN
commands. Refer to the sections that describe these commands for
more information. Like ordinary macros, these are "permanent" and
remain intact until either you overwrite them or quit XyWrite.

If you use programming macros exclusively for programs, you can reserve
your ordinary macros for on-the-fly use; since programming macros are
not accessible from the keyboard.

There are several embedded commands you can use with programming
macros. There are three kinds of information you can store in a
programming macro: a numeric expression (value), a literal string of
characters, or a program. The kind of information you are saving
determines the command you use to save it and the command you use to
access it. Refer to "XPL Commands" for more information on macro
commands.

You can use the PR (Prompt) command in a program to display the


contents of a macro on the status line. To do this you specify the number
of the macro, preceded by an @ character in the message argument of the
PR command. The macro must be the last thing in the PR command.
Example: «prThe file is @98».

NOTE Reserved Macros. There are also 1000 programming macros, numbered
1000 through 1999 that are reserved for use by XyWrite menus.

203
XPL Commands

There are four categories of XPL commands: Commands that Return


Values, Flow Control Commands, Macro Commands, and Miscellaneous
XPL Commands. Most of the commands are embedded commands and
appear as markers in draft view. Arguments (values) to embedded
commands can include macros, logical expressions, numeric expressions,
or additional embedded commands.

Commands that Return Values


The following commands insert values into your program from XyWrite,
from the user, or from another program. You can use any of these
commands as values in expressions.

AS Argument Insert Takes the string passed in from the RUN filename,string
command and saves it to macro 00. You can then use the PV (Put
Variable) command to access the contents of macro 00 on the screen, in the
text, or in an expression. For example, if you start the program with RUN
EXERCISE.PGM,1234, then macro 00 contains the string 1234 (not the
number) within the program. If you load the program to a key with
LDPM and then run that program from a macro key, macro 00 will contain
any string you enter on the command line. Since AS returns a string rather
than a number, use IS00 when vou want to use AS within SX; for example,
«SX01,«IS00» ».
Example #1: The new variable is « AS»
Example #2: « IF« AS» == « PV01» »

CL Column Location of Cursor. Takes on the value of the current column


position of the cursor. The columns on the display are numbered starting
from the left at column 0. (In graphic view, CL displays the pixel position
of the cursor rather than the column location.) Example: « SX01,« CL» »

CP Character Position. Takes on the value of the current character position in


number of characters from the beginning of the file. Example:
«SX01,«CP» »

Once you have saved the cursor position and moved the cursor, you can
use the JMP flump) command to return to that previous position:
Example: [Kjjmp « pv01» 0

ER Error. Takes on a logical value of either TRUE or FALSE. ER is TRUE if


there was an error in the previously executed command; otherwise, it has
the value FALSE. Frequently used with the SEARCH command — ER is
TRUE if the search returns NOT FOUND. Example: « IF« ER» »

204
(cont'd) XPL Commands

EXIST filename
Exist. Checks to see if a filename already exists in the directory you
specify and takes on a logical value of either TRUE or FALSE. EXIST is
TRUE if the file is not found; otherwise, it has the value FALSE. Example:
BX exist « pv01» Q2

RC Read Character. Stops the program and waits for the user to press a key.
When a key is pressed, RC takes on the value of that key and the program
continues with the next step. Use RC in an expression; typically you
would assign RC to a macro. Example: « SX01,« RC» »

VA nm Value of Variable. Obtains the current value (or string) of the variable
you request (nm). You can request any XyWrite default setting (for
example, VA RM obtains the current value of the right margin) or any
environment setting (for example, VA SPA obtains the current drive and
path). Unlike the other commands in this section (except IS), you can use
this command either in a program or directly in text. Refer to "VA
Settings" for a list of all the variables you can use with the VA command.
Example: «VALM»

You can use the /NV switch with the VA command to display the value
on the status line. Example: lF5lva/nv Im CT

FLOW CONTROL COMMANDS


The following commands control the flow of the program.

EX Exit and Continue. EX and EXI are two different ways to exit a program.
EX is a subroutine return. When used at the main level of a program, the
EX command stops the program. When used in a subroutine, EX exits
from that subroutine and continues execution at the point the subroutine
returns to. (A subroutine is any program within a program.) Example:
«EX»

EXI Exit and Stop. EXI stops the program altogether. Unlike EX, it stops
regardless of whether execution is in the main program or in a subroutine.
Example: « EX1»

GL label Go to Label. Causes execution to jump to the label specified by the LB


command. The label can be any length string. Example: « GLSTART» To
make your programs easier to read, type two carriage returns after each
GL statement. This will not affect operation of the program, since the GL
command skips all statements and goes directly to the specified label.
Label names are case sensitive; therefore, « glend» does not jump to
«lbEND».
205
XPL Commands (cont'd)

IF expression trueaction El
IF Condition. This command evaluates a boolean expression and
determines whether the expression is TRUE or FALSE. If the expression is
TRUE, the commands specified in trueaction are executed and then
execution continues with the next statement after the El command (End If)
command. If the expression is FALSE, execution jumps to El and
continues from there. Examples:
Comparing Values:
«IF« PV01 »==«PV02»» «GLA» «EI» «GLB»
Comparing Strings:
«I F« IS01» ==« IS99» » « GLA» « El» « GLB»

LB label Label. Marks a spot in the program that you can jump to with the GL
command. The label can be inserted at any point in a program, and can be
any length string. LB can also be used simply as a comment in a program.
(When writing a comment that contains spaces, though, the comment
must be typed in expanded view.) Example: «LBSTART»

macro Commands
In some of the following commands, you specify #, which is a macro:
either an ordinary macro (A-Z, 0-9) or a programming macro (00-999).
Macros &A-&Z and &0-&9 do not work with those commands.

CLRASG Clear All Macros. Clears all macros — A-Z, 0-9, &A-&Z, &0-&9 and
100-1999. CLRASG is an immediate command. Example: [F5]clrasq[«j]

CLRSGT Clear Ordinary Macros. Clears all ordinary macros A-Z and 0-9, but
leaves programs assigned to programming macros (100-1999) and
additional programming macros (&A-&Z and &0-&9) in memory.
CLRSGT is an immediate command. Example: [FSlcIrsqlCT

CLRXSGT Clear Additional Macros. Clears only the additional programming


macros (10-999). CLRXSGT is an immediate command. Example:
[Fsjclrxsgtgl

GT # Get Macro. Inserts the text or invokes the program or subroutine assigned
to the specified macro (#).
GT # is similar to the PV (Put Variable) command, except GT inserts text
all at once, while PV inserts the text one character at a time. If overstrike
mode is on, the text output by the GT command does not overwrite
existing text Example: «GT98»

206
(cont'd) XPL Commands

IS # Insert macro. In User Programming, you can use IS within an IF


statement to compare the string contents of one macro either to another
macro or to a literal string enclosed in double quotes. (When used outside
of XPL, IS operates as just another regular formatting command.)
Example #1: «IF« IS01 » ==« IS99» »
Example #2: «IF«IS02» =="XyWrite"

PV # Put Variable. Inserts the characters one at a time from the specified macro
to the current location. May be used in two ways:
• When used outside of an expression, PV inserts the text or runs the
program assigned to the macro — either on the command line or in
text. If overstrike mode is on, the text output by the PV command
overwrites existing text. Example: « SX01,« VASfi» » « PV01»
• When used inside an expression, XyWrite interprets the content of the
macro as a number and combines it with the rest of the expression to
give a numeric result. Example: « IF« PV800» <« PV801» »

REMOVE # Remove. Clears any single macro # (or user program) from memory.
REMOVE is an immediate command. Example: [F5] remove xCT

SAVE % it,filename
Save. Saves the contents of a macro # to a new file on disk filename,
without opening the file. SAVE is an immediate command. Example:
[Rjsave %b.myfilera

SU it,string Save Subroutine. Saves string as a program to the specified macro (#).
(This is similar to SV, except the string is marked as a program.) You can
run this subroutine within another program using either the CT or the PV
command. The following example saves to macro 98 a subroutine that
executes the SAVE command. Example: « SU98.BC saveXC” »

SV #,sfringexp Save String. Saves a literal string to the specified macro (#). You can
specify the string expression (stringexp); or if you omit the comma and
stringexp, XyWrite saves any block of text that is selected when you run
the program. If you omit stringexp, XyWrite clears the macro or initializes
it with a size of 0. SV can be used only for saving literals. You can
compare this string to contents of any other macro or to a literal string.
Example #1 puts the string YES into macro 99; Example #2 initializes or
clears macro 32; Example #3 saves the currently selected block to macro
33.
Example #1: « SV99,YES»
Example #2: «SV32,»
Example #3: « SV33»

207
XPL Commands (cont'd)

SX #,numericexp
Save Expression. Evaluates a character or series of characters and saves
the result to the specified macro (#). The character(s) can be a number
(such as 88), a numeric expression (such as the result of 2 + 2), or a
XyWrite variable (such as the current left margin setting).
Example#!: «SX01,25»
Example #2: «SX02,«IS99»»

XS #1,#2,#3,#4,#5
Extract String. Divides the contents of a macro into parts (often called
parsing), then extracts and saves the parts to other macros. The XS
command works by searching the specified macro for the character(s) you
designate. If it finds a match, XS creates three new macros: one for storing
the information that precedes the matched string; one for the matched
string itself; and one for the information that follows the matched string.
#1 is the macro that contains the string you want to search.
#2 is the macro that contains the string you want to match. (You can use
wild cards in this string.)
#3 is the macro where XS will store the information that precedes the
matched string.
#4 is the macro where XS will store the matched string. (Unless you use
wild cards in #2, the contents of this macro will be identical to the contents
of #2.)
#5 is the macro where XS will store the information that follows the
matched string.

For example, you may want to extract a filename extension to determine


what printer file to use for a file or to what subdirectory to send the file,
you could use the XS command in a program like this:
«XSa1b,x,y,z»

If macro A contains the string CHAPTER.DOC, macros B and Y contain a


period, macro X contains the string CHAPTER, and macro Z contains the
string DOC.

NOTE Wild Cards. XyWrite accepts wild card characters in the string you want
to match. Use the same wild cards as you use with the Search command.
To enter them into the program file, press [ShihlfEscl followed by the wild
card letter you want.

208
(cont'd) XPL Commands

MISCELLANEOUS XPL COMMANDS


You can use the following commands for various tasks in your XPL
programs:

• APF1L (to add a line to a stored file)


• BEEP (to produce an audible signal)
• GOF1LE (to switch windows to an open file)
• LDPM (to load a program)
• PFUNC (to enter a program function call)
• RUN (to run a program)
• STSGT (to store macro keys to disk)

These commands are described in detail on the following pages.

209
Append to File APFIL

FORMAT E33 APFIL/x filename^tring


x is the character that signals the beginning of the replacement string.
filename is the name of the text file you want to modify.
string is the replacement string.
MENU Not a menu item.

Purpose APFIL (Append to File) lets you change an existing line or add a new line
to a file without opening the file. The XyWrite menus use this command
to change a default setting in SETTINGS.DFL. If the file contains the
command to establish the specified default, the command is changed to
reflect the new setting; if the file does not contain a command for that
setting, one is added to the end of the file.

When looking for a line to change, XyWrite uses the first section of the
replacement string (up to the signal character x) as the search string for
locating the line to modify.

Action Changing a Default Setting in SETTINGS.DFL


To change a default setting in SETTINGS.DFL:
1. Determine the location of SETTINGS.DFL (using VA$DL) and the
setting you want to modify. Let's assume that the location of
SETTINGS.DFL has been stored in macro #01.
2. Construct an APFIL command in your program. For example, to
change the NW default to 0:
BX apf11/= «pv01»,DF NW=0Q2

Result: when the program is run, SETTINGS.DFL will be changed so that


the NW setting is zero. If SETTINGS.DFL does not already contain a line
establishing an NW setting, one is added at the end of the file. If it already
contains a line establishing an NW setting, that line is altered. All
characters following the equal sign are removed. In their place, the
number zero appears.

NOTE #1 Signal Character. The signal character does not have to be an equal sign.
It can be any character contained in both the search and replacement
string.

NOTE #2 If the text file contains more than one line that matches the search criteria,
only the first instance is changed.

210
BEEP Producing an Audible Signal

FORMAT RH7IBEEP

This is an immediate command.

MENU Not a menu item.

Purpose BEEP produces an audible signal at a point in your program.

Action Producing an Audible Signal


To produce an audible signal:

1. Switch to expanded view:


Press: [cvilfral

2. Use PFUNC to enter either the BC (Blank the Command Line) or the
BX (Blind Execute) function call:
Type: [F5]pfunc bxfcj]

3. Type the command:


Type: beep

4. Use PFUNC to enter either the XC (Execute) or the Q2 (Execute)


function call, depending on the command you used in Step 2:
Type: (Fs]pfunc Q20

Result; When you run the program, the computer emits an audible signal
at the point where the command appears.

211
Switching Windows to an Open File GOFILE

FORMAT BETZ! GOFILE filename

filename is the name of the file to which you want to move.

This is an immediate command.

Menu Not a menu item.

Purpose GOFILE switches to the window containing the named file.

Action Switching Windows to an Open File


To switch to the window that contains a file named MYFILE:

1. Put the cursor at the point in your program where you want to switch
windows.

2. Use either the BC (Blank the Command Line) or the BX (Blind Execute)
function call:
Type: [Fs]pfunc bc0

3. Type the command:


Type: gofile myfileCT

4. Use either the XC (Execute) or the Q2 (Execute) function call,


depending on the command you used in Step 2:
Type: [Fsjpfunc XCP1

Result: When you run the program, execution switches to the window
that contains the file named MYFILE at the point where the command
appears.

212
LDPM Loading a Program

FORMAT E3DLDPM d.-programfile,# (Option 1)


Enn LDPM d:programfile (Option 2)
d: is the letter of the drive that contains programfile,
programfile is the existing program file you want to load.
# (optional) is the single letter (A-Z) or number (0-9) or two characters
&A-@Z or &O-&9 where you want to save the program file.
This is an immediate command.

MENU EJHE1 EffEEUl Swta Micro fay

Purpose LDPM (Load Program) loads a program file cither onto the specified
macro key (Option I) or into memory (Option 2). Option 1 enables you to
run the program file with an [F2J key (rather than with the RUN command).
Option 2 enables you to RUN a program directly from memory rather
than from disk.

You can assign programs to two different kinds of macros:


• Macros A-Z and 0-9. You normally run this kind of program from the
keyboard using [F2]# (which accesses the function calls @A-@Z or
@CP@9).
• Macros &A-&Z and &0-&9. You run this kind of program from any
key where you have assigned the corresponding function call &A-&Z
or &O-&9, or with the FUNC command (such as FUNC &A).

Action Loading a Program onto a Macro


(Option 1) To load a program onto a macro:

1. Load the program. To load the program file EXERCISE.PCM onto


macro X:
Type: [fsjldpm exercise, pgm.x®
Result. The program file is copied to the macro (in memory). You can
now run the program file EXERCISE.PGM by pressing [F2|X.

2. Verify. (Optional) To verify that the file has indeed been loaded onto
that key:
Press: [cid] [F2|
After viewing the text, press [Esc] to return to the document.

213
Loading a Program (cont'd)

3. Store the Macro. (Optional) If you want to keep this program file
loaded on the macro key for use at future editing sessions (after you
quit), use the STSGT (Store Macros) command.

NOTE Additional Macros. You can load programs onto any of up to 72 keys.
This includes the 36 ordinary macros [fejA through [fzJZ (Function Calls
@A-@Z) and [TzlO through (M9 (Function Calls @0-@9). It also includes
additional programming macros assigned to function calls &A through
&Z and &0 through &9.

ACTION Loading a Program into Memory


(Option 2) To load a program directly into memory (rather than onto a macro), use
L.DPM with only the filename of the program. For example:

Type: [fsjldpm exercise.pqmfcj]

Result: The program file EXERC1SE.PGM is now stored in memory. When


you use the RUN command, XyWrite checks to see if the program you
specify is stored in memory before going to the disk.

214
PFUNC Program Function Calls

FORMAT E33PFUNC##
## is a two-character function call.
This is an immediate command.

MENU Not a menu item.

Purpose The PFUNC (Put Function Call) command lets you enter a XyWrite
function call into your file when not in program mode or when the
function call is not assigned to a key.

Action Using the PFUNC Command


Let's suppose you are creating a program in which you want to clear the
command line, but leave the cursor in the text area. The function call for
this action is CH (Clear Header), which is not typically assigned to a key.
To enter it in your program:

Type: EUpfunc chQ

Result: A bold CH appears in your program file. When you run the
program, XyWrite will clear the command line without moving the cursor
there.

215
Running a Program RUN

FORMAT K2J RUN d:programfile,string


d: is the letter of the drive that contains programfile.
programfile (optional) is the name of the program file you want to run.
string (optional) is any information you want to pass to the program.
This is an immediate command.

MENU rPJl.'-'-U liWUL'n'Iill li'l'il1!!-'-!

Purpose RUN causes the specified program file to execute. This means the
commands (and text) stored in the program file are executed
automatically, as if typed from the keyboard. When you include
information as an argument to the RUN command, XyWrite automatically
stores the information in macro 00. You can access it by including «is00»
or «pv00» in the program, depending on the type of information and how
you want to use it.

Action Running a Program File


To run a program file — for example, EXERCISE.PGM:
Type: [Fsjrun exercise.pgm 0

Result: This command runs the program file named EXERCISE.PGM —


the keystrokes stored in that file are automatically executed.

To stop the program (if necessary):


Press: fcidl |Break|

also See Related Commands. You can also run a program file with an [F2] key.
Refer to LDPM (Load Program) to load the program file onto a macro key.

NOTE #1 Shortcut XyWrite remembers the name of the last file run (with the
exception of STARTUP.INT). Therefore, if you enter the RUN command
without specifying the name of a program file, XyWrite reruns the most
recently run file. If you have modified the program and saved the
changes to disk, XyWrite detects the changes and runs the current version.

NOTE #2 Running a Program from STARTUP.INT. If you place a program into


STARTUP.INT to be run on startup (with RUN filename), end that program
with «EX» rather than ending it with «EX1». Since STARTUP.INT is itself
a program, your program is a subroutine within it. EXI in the subroutine
stops execution after the subroutine without returning to STARTUP.INT.

216
blbC.1 Store Macro Keys to Disk

FORMAT ESZJSTSGT filename


filename identifies the file on disk to which the macro keys will be stored.
This is an immediate command.

MENU ra Tert [torn i Macro Ml

PURPOSE STSGT stores the set of current macro keys to the specified file on disk.
This enables you to reload the keys for use ata later editing session. You
can also save several sets of macro keys and load each one for a different
purpose.

ACTION Storing Macro Keys to Disk


This procedure saves macro keys to disk.

1. View the Macro Keys (Optional). To view the text that will be saved
to disk:
Press: [ctril[F2|
After viewing the text, press [Esc] to return to the document.

2. Disk Save (Long-Term Save). To save to disk all of the keys viewed in
Step 1:
Type: [Fsjstsgt proposal.sgtH

In this case, PROPOSAL.SGT is the filename to which the keys are stored.
You can save to any filename you want, but we recommend that you use
the SGT extension, and store the file in the same directory as SIG.EXE. If
you follow those conventions, XyWrite will include the new macro file
when it creates a list of macros.

217
XPL Operators and Functions

Purpose XyWrite provides operators and functions in the following categories:

• Arithmetic operators
• Logical operators
• Relational operators
• String operators
• String functions

Arithmetic Operators
Use these operators to perform arithmetic on numeric values.
+ Addition
- Subtraction
• Multiplication
/ Division
% Modulus
Example: «SX99,« PV01»*10+« PV02» »

Logical Operators
Logical operators perform logical (or boolean) operations on numeric or
string expressions. You use logical operators within IF statements.
! Or
& And
©XOR Exclusive Or
©NOT Not
Example: «1F(« IS99» ==« 1S01»)!(«IS99» ==«IS02»)»

Relational Operators
These operators let you compare two numeric expressions (with PV) or
two string expressions (with IS).
< Less Than
> Greater Than
<= Less Than or Equal (same as =<)
>= Greater Than or Equal (same as =>)
o Not Equal
= Equal
Example: <<IF(«PV01»<«PV02»)»

218
(cont'd) XPL Operators and Functions

String Functions
String functions operate on string expressions and return a value or
another string.
©UPR Converts letters to uppercase. (Parentheses are required.)
@CNV Converts a function call to its two-letter mnemonic, (see Note
#1)
©SIZ Returns a value equal to the number of characters in a string.
(Parentheses are required.)
©NUM Strips all punctuation and letters, leaving only digits. (Note:
©NUM does not process parentheses. Do not use it on
expressions that contain them.)
©INT Eliminates fractions after decimal point
Example: «sxO3,@UPR(«isO3»)»

String Operators
A string operator operates on two string expressions.
+ Concatenation. Links two or more separate strings.
Example: «SX99,« IS01» +«I S02»»
= Contains. Determines if a string exists anywhere within another
string. Example: <<IF«IS01»=«IS02»»«GLA»«EI»
e Contains. Determines if a string exists within another string and
where within the string it exists. If the first string is found to be part
of the second string, XyWrite returns a numeric value equal to the
number of characters that precede the occurrence of the first string
within the second: returns a value of 0 if the characters of the first
string are at the beginning of the second string; returns a value of n
if the first string appears within the second string but not at the
beginning (n is the number of characters in the second string that
precede the first string; returns a value of -1 if the first string is not
in the second string. Example: «1F(«IS01 »€« IS02» ==0)»
returns 0 if macro 01 = A and macro 02 = ABCDE.

NOTE #1 Converting Function Calls. We recommend that you use the ©SIZ
function to test input to be sure it is a function call before using ©CNV to
convert the input to a 2-letter mnemonic. If @SIZ=3, then the input is a
function call.

219
Examples

This section contains examples of the following procedures:


• Creating and running a user program
• Testing for a carriage return
• Evaluating keyboard input and branching

Creating and Running a User Program


As an example, the following procedure writes a program to count the
number of characters in a file and display the result.

1. Plan the Program. In order to count the number of characters in a file,


you press [&□ [End] to move the cursor to the end of the file, use the CP
(Character Position) command to count the number of characters from
the beginning of the file, and save the result in a macro key. Since you
are asking XyWrite to make an evaluation, you use the SX (Save
Expression) command to save the result to a macro and the PV (Put
Variable) command to display the contents on the screen.

2. Create the Program File. Use the NE (New) command to create a new
program file. For example:
Type: [F5]ne count.pqmfTi]

Result: XyWrite creates a new (empty) file with the name


COUNT.PGM.

3. Write the Program. After turning on program mode, type all the
keystrokes necessary to perform the routine. When you are finished,
turn program mode off.

Press: IScroa lock! to tum program mode on.


Press: {aril [tnil
Result: A bold BF appears on the screen (for Bottom of File).
Press: iScroi i<xx| to tum program mode off.
Type: |F5]sx[F9)
Result A text entry screen opens.
Type: 01 ,[F5|cp[F9]
Press: Ishfr| [f7| to close the window.
(If you want to abort the command window, press [Esc].)

220
(cont'd) Examples

Result: The SX command displays in expanded view as


«SX01,«CP»».

Press: I Scroll tort I to tum program mode on again.


Press: (£sj
Result: BC appears in the program file, which moves the cursor
to the command line.
Press: I Scroll Lod<| to turn program mode off again.
Type: (Fsjpv 01 [F9]
Result: This will display the contents of macro 01 (the value
acquired by the CP command) on the command line when the
program runs.

In draft view, the program file looks something like this: BF ABC A

In expanded view, the program file contains code that looks like this:
BF «sx01,«cp»»BC «pv0l»

The program code functions as follows:


BF (Bottom of File) moves the cursor to the end of the file.
«sx01 ,«cp» » saves the value of the current cursor location to macro 01.
The CP (Character Position) command returns the number of
characters from the beginning of the file.
BC (Blank Command Line) clears the command line.
«pv01» outputs the contents of macro 01 to the screen.

4. Store the Program


Type: [fs] stored
Result: The program file COUNT.PCM is stored on the disk and
disappears from the screen.

5. Test the Program. Test the program by calling a file in the current
directory and counting the number of characters in it To execute the
program, call up any file and
Type: [F5]run count.pgm£0
Result: The program moves the cursor to the end of the file, counts the
number of characters in the file, and displays the number on the
command line.

221
Examples (cont'd)

6. Load the Program onto a macro Key. If you want to load


COUNT.PGM onto a text key, refer to "Loading a Program" for
information.

Testing for a Carriage Return


Testing for a carriage return requires two steps: (1) save a carriage return
to a macro and (2) make an IF statement. The following example saves the
carriage return to macro 91; and uses an IF statement to compare it to
macro 00. Type this in with Scroll Lock turned off.
Type: [F5]sv[Zi]
Type: 91, S
Press: |Shft|[PT|
Result: The carriage return is saved to macro 91. In expanded view, the
macro you just typed in looks rather odd, but nonetheless is correct:
«SV91,<-
»
Then type in the following IF statement:
«I F« IS00» 6 «IS91» ==0»
If the content of macro 00 is a carriage return, this statement will be true.

Evaluating Keyboard Input and Branching


You can write programs that will pause in the middle of execution, ask a
question and wait for you to respond. Therefore, you can stop and make
choices. For example, you can modify your STARTUP.INT file to choose
which printer file to load. The following program demonstrates the RC
(Read Character) command and the IF statement. RC causes the program
to pause, allowing you to select a printer by pressing a letter (D or L).

«LB-A»«PRDot matrix (D) or laser (L)?»«SX99,«RC»»


«JF«VA$KC»==38»BX setp 1Q2 «PRConfigured for laser printer.»
<<EX»«EI»«IF«VA$KC»==32»BX setp 2Q2«PRConfigured for dot matrix
printer.»«EX»«EI»BX beepQ2«PRPress D or L»BX p Q2«GL-A»

222
Variables

INTRO Variables indicate the status of XyWrite. You can check on the current
value of any default setting, as well as many other system settings (for
example, the name of the currently loaded keyboard file) that affect your
use of XyWrite.

Contents page Description Command


224 Value of Variable VA
225 VA Settings

223
Value of Variable

FORMAT ESZJVA/nv nm
/nv is an optional switch that displays the value on the status line.
nm is a variable
Menu Not a menu item.

Purpose VA obtains the current value (or string) of the variable you request (nm)
and inserts it into the text. If you include the optional /NV switch,
XyWrite displays the current value on the status line rather than in the text
(see Note #1).
The VA command is useful for determining the current value of default
settings. However, it is also a valuable troubleshooting tool. You can use
the VA command to check the status of:
• Default settings, including format settings
• System settings (using the S prefix)
• Text macros (using the @ prefix)
• Document Information items (using the A prefix)
• Display Modes (using the * and [ prefixes)
• Keyboard location (using the _ prefix)
To obtain the value of a default setting, you simply issue the VA
command with the default variable. For example, VA LM obtains the
current Left Margin setting. Refer to "Default Settings" for a complete list
of variables you can use. To obtain values for the other categories, you use
the command forms described on the following pages.

Action Obtaining a Value


To get the current value of a XyWrite setting, say tabs (TS):
1. Move the cursor to the point in text where you want to find the current
tab settings.
2. Enter the VA command on the command line. For example:
Type: {fs]va tsEj]
Result: The display will show the tabs settings at that location in the text:
A.5,1.5,2.5,3.5
If you don't want these values to print, delete the marker before issuing
the PRINT command.

NOTE #1 Status Line Display. If you use the /NV switch to display the value on
the status line, cursor placement is important. If the cursor is on the
command line when you press [F9], XyWrite displays the current default
value of the variable. If the cursor is in the text, XyWrite displays the
value in effect at that point in the file.

221
VA Settings

NOTE #2 No File Open. If you do not have a file open when you issue the VA
command, XyWrite automatically displays the result on the status line —
you do not need the /NV switch.
NOTE #3 Separate Values. If the variable you are checking includes more than one
value, the VA command displays all the values. If you prefer, you can
display only one value by including the numeric position of the value you
want. For example, V A IP displays both values of the IP setting; VA 1P1
displays only the first value; VA IP2 displays only the second value.

VA Description Value Returned (Example)

va Sac Auto-Check 0
va Sam Available Modes 0
va $bd Bad Words 10
va Sbq Border Query 0
va Sbt Black and White Trace 1
va Sbw Black and White Monitor 1
va Sea Cartridges WP
va Scm Command Line se /XyWrite/
va Sen Cartridge Installed 2
va $co Columns 3
va Sep Code Page 437
va Sex Cursor Column Position 40
va Scy Cursor Row Position 20
va Sdc Define Column 0
va Sde Define Ended 0
va Sdf Define Status 0
va Sdl Directory Type 4
va Sdl Defaults C:\XY4\SETTINGS.DFL
va Sdn Define End 100
va Sdo Document Information 1
va Sdp Display Path C:\DRAFT\CHAPTER1
va$dr File in Directory C:\MEMOSWACATION
vaSda Define Start 32
va $dt Display Type 1
va Sdv Default Drive C
va Sad EXE Location C:\XY4\XY4.EXE
va Ser Error Number 102
va Set Elapsed Time 54
vaSex File Extension TMP
va$fb Ale Begin 0
va Sfe File End 1
va Sfl Filename CHAPTER
va Sfm Forms Mode 0
vaSfp Alename and Path C:\DRAFT\CHAPTER1
va $fa Ale Status 0
vaSfx Axed Pitch 1
va Sfz Aeld Separator 3
va Sgc GCI (Generalized Callable Interface} Status 0
vaShl Help Ale C:\XY4\XY4.HLP
va $hp HP Printer File 0
va$ln Inside Define 0
225
VA Settings (cont'd)

VA Description Value Returned (Example)

va Skb Keyboard File C:\XY4\XY4.KBD


va Skc Key Code 82
va $lg Logged-On User Rose
va Sin Current Une Number 22
va Sit Logon Notes Toggle 0
va Sma Memory Available 286
va Smn Menu File C:\XY4\XY4.MNU
va Smo File Modified 1
va Smw Mouse Window 6
va Smx Mouse X Position 33
va Smy Mouse Y Position 12
va $m+ Memory Used By XyWrite 563
va Sna Non-Printable Area .2. .3,.5,.3
va Snr No Ruler 0
va Snu Unused Printer Memory 2395
va Sov Overflow File C:
va Spa Current Drive and Path C:\WORKING
va Spc PC Code 0
va Spf Printer File Selection LPT1 D:\XY4\POST35N.PRN
va Spg Current Page 3
va Spr Printer File C:\XY4\POST35N.PRN
va Spx PC Code Explanation Letter (8.5'x 11')
va Sp? PC Code Exist 0
va Sp. Truncated Path \SI
va Sp\ Path No Backslash C:\XY4
va Sra Read Attribute 27
va Src Resume Code 0
va Sra Read-Only File 1
va Srk Record Keystrokes 1
va $rl Redlining 0
va $rr Return Error
va Sra Read Character A
va Srz Record Separator <-
va Sac Scan Code 276
va Sad Sort Directory d,r
va Sse Search String auto
va Ssf Soft Font Ust File PS140b10.USP
va Ssg Text Macro File C:\XY4\SAVE.GET
va Sam Show Menus 0
va Sso Sort Setting Fl
va Ssp Spelling Dictionary C:\XY4\PERS.SPL
va Sss Styles HEAD1
va Sss Save Styles DEFAULT
va Sst Startup C:\XY4\STARTUP.INT
va Ste Type Effect 0
va Str Triangle Mnemonic LM
va Stw Text Window 0
va Six Cursor Location 0
va Suf Use Typeface TIMES
va Suo Use Outline 0

226
(cont'd) VA Settings

VA Description Value Returned (Example)

vb $va Version Number 1.0


va Swa Window Availability 5
va Swc Word Count 3782
va Swn Window Number 3
va Swo Windows Open 4
va Swa Window Status 0
va * Mode Number 15
va @ Text Macro YES
va A Document Summary Items 07-08-91
va ( Additive Mode On 1
va i Size of Macro 12
va § Macro Contains Number 1
va_ Assigned Key AII+F7

Detail This section contains a description of the variables listed above. These
variables let you perform a variety of tasks, like saving the value of a
setting so you can later restore it. Many of the VA settings are designed to
be inserted within user programs.

VA $AC Auto-Check — Indicates the status of Auto-Check (O=off, l=on).

VA $AM Available Modes — Indicates the availability of the specified mode in the
current type family. The format is:

va Sarnmd, where md is either BO, Bl, or IT. XyWrite displays a 1 if the


mode is available.

VA $BD Bad Words — Displays the number of questionable words found by the
SPELL command when it was last executed.

VA $BQ Border Query — Indicates whether a particular border definition is


present in the file. The format is:

va Sbqbo, where bo is the name of a custom or standard border. XyWrite


displays a 1 if the border definition is present, a 0 if it is not.

VA $BT Black and White Trace — Indicates the value of the BW setting in the
printer file. If you have a CGA monitor and set BW=1 in the printer file to
get rid of "snow," $BT returns a value of 1. If BW=0 in the printer file,
$BT returns a value of 0. If BW is not set in the printer file, $BT returns a
non-zero.
VA Settings (cont'd)

VA $BW Black and White Monitor — Indicates the monitor type (0=monochrome;
l=color).
VA $CA Cartridges — Displays the printer cartridges currently loaded.

VA $CM Command Line — Displays the current contents of the command line.

VA $CN Cartridge Installed — Indicates whether or not a cartridge or a soft font is


installed. The following values are reported:
0 No soft fonts or cartridges
1 Cartridges from the printer file
2 Soft fonts from the printer file
3 Cartridges and soft fonts from the printer file
4 HP printer file is loaded

VA $CO Columns — Displays the number of columns in use at the cursor.

VA $CP Code Page — Returns the value of the current code page.

VA $CX Cursor Column Position — Displays the column number (horizontal


position) of the cursor.

VA $CY Cursor Row Position — Displays the row number (vertical position) of the
cursor.

VA $DC Define Column — Indicates whether a column of text is currently selected


(Ono, l=yes).

VA $DE Define Ended — Indicates whether the select text sequence has been
completed (Ono, l=yes).

VA $DF Define Status — Indicates whether there is selected text in the current
window (0=no, l=yes).

VA $DI Directory Type — Indicates the type of directory currently displayed. The
following values are reported:
1 Tree directory 8 Long directory
2 Names-only directory 64 Soft font directory
4 Normal directory 128 Cartridge directory

VA SDL Defaults — Displays the drive and path of SETTINGS.DFL.

VA $DN Define End — Displays the character position at the end of the selected
block.

228
(cont'd) VA Settings

VA $DO Document Information — Indicates whether document summary


information is attached to the displayed file (Ono, l=yes).

VA $DP Display Path — Displays drive, path, and filename of the current file.

VA SDR File in Directory — Displays the name of the file that is currently
highlighted in the directory.

VA $DS Define Start — Displays the character position at the beginning of the
selected block.

VA $DT Display Type — Indicates the current view (as opposed to the default
setting, which is obtained with VA DT). The following values are
reported:
0 Expanded view
1 Draft view with markers but no page breaks
2 Draft view with page breaks and markers
4 Graphic view with markers
9 Draft view without markers or page breaks
10 Draft view without markers but with page breaks
12 Graphic view without markers

VA $DV Default Drive — Displays the letter of the current drive (without :\).

VA $ED EXE Location — Displays the drive and subdirectory of XY4.EXE.

VA SER Error Number — Displays the error number of the last error that occurred.

VA SET Elapsed Time — Displays the amount of time that has elapsed since you
issued the ZT (Zero Time) function call. If you have not issued the ZT
function call since starting XyWrite, SET displays the current time.

VA SEX File Extension — Displays the extension, if any, of the current file.

VA $FB File Begin — Indicates whether the cursor is at the beginning of the file
(0=no, l=yes).

VA $FE File End — Indicates whether the cursor is at the end of the file (0=no,
l=yes).

VA $FI Filename — Displays the name of the current file.

VA $FM Forms Mode — Indicates whether or not you are in forms mode (Ono,
l=yes).
229
VA Settings (cont'd)

VA $FP Filename and Path — Displays the drive, path, and name of current file.

VA $FS File Status — Displays the status of files (0=no files are open, non-zero=at
least one file is open).

VA $FX Fixed Pitch — Indicates whether the current font is fixed pitch or
proportional (0=fixed pitch, l=proportional).

VA $FZ Field Separator — Indicates the field separator as XyWrite displays it,
rather than the 3-byte sequence XyWrite uses to store the field separator
internally, which is the value returned by VA FX.

VA $GC GCI (Generalized Callable Interface) Status — Indicates whether


XyWrite has been invoked by a program using the GCI protocol. You
might use the variable if you are logged on to a host machine and you are
running XyWrite as a TSR (Terminate and Stay Resident) program. The
format for $GC is:
va $gcn where n is one of the following arguments:
1 Returns 1 if GCI is running; 0 if it is not.
2 Returns 1 if a merge option from the host is available; 0 if it is not.
3 Returns 1 if a save or store option is available; 0 if it is not.
4 Returns 1 if printing to the host is available; 0 if it is not.
If you do not specify n, values for all four arguments are displayed.

VA $HL Help File — Displays the name and location of the current help file.

VA $HP HP Printer File — Indicates whether the current printer file is for a
Hewlett Packard LaserJet (0=no, l=yes).

VA SIN Inside Define — Indicates whether the cursor is within a selected block
(0=no, 1-yes).

VA $KB Keyboard File — Displays the name and location of the current keyboard
file.

VA $KC Key Code — Displays the key code number of the last key pressed.

VA $LG Logged-On User — Displays the name of the user currently logged on.

VA $LN Current Line Number — Displays the line number where the cursor is
currently located. This works only when Page-Line numbers are
displayed.

230
(cont'd) VA Settings

VA $LT Logon Notes Toggle — Indicates whether text display of captured


redlining login information is suppressed (O=off; l=on).

VA SME Memory Available — Shows the amount of memory (RAM) currently


available, in kilobytes, after XyWrite is loaded. Thus, 312 means 312K of
memory is available for more files or other programs.

VA $MN Menu File — Displays the name and location of the current menu file.

VA $M0 File Modified — Indicates whether the current file has been modified
since being opened (0=no, l=yes).

VA $MW Mouse Window — Displays the number of the window in which the
mouse is currently located.

VA $MX Mouse X Position — Displays the pixel position of the mouse in graphic
view; displays the row position in draft view.

VA $MY Mouse Y Position — Displays the pixel position of the mouse in graphic
view; displays the column position in draft view.

VA $M+ Memory Used by XyWrite — Displays the amount of memory currently


used by XyWrite, expressed in kilobytes.

VA SNA Non-Printable Area — Displays the portions of the page the printer does
not use when printing. For example, laser printers do not begin printing
at the very top of the page. SNA displays four values to indicate the left,
right, top, and bottom non-printable areas. You could include SNA in a
program to ensure that files are portable to different types of printers.

VA $NR No Ruler — Indicates whether a ruler is displayed at the top of the screen
(0=no, 1 =yes).

VA $NU Unused Printer Memory — Displays the amount of memory currently


available in the HP LaserJet. This value reflects any soft fonts that have
been downloaded.

VA $0V Overflow File Drive — Displays the location of the overflow file, if one
exists.

VA $PA Current Drive and Path — Displays the current drive letter and path.

231
VA Settings (cont'd)

VA $PC PC Code — Indicates if there are any PCs in the current PC (Printer
Control) table within the range of the number specified (0=no, l=yes). The
format of $PC is:
va $pc# where # is a PC number.

VA $PF Printer File Selection — Displays the current SETP selection.

VA $PG Current Page — Displays the page number where the cursor is currently
located. This works only when Page-Line numbers are displayed.

VA $PR Printer File — Displays the name and location of the current printer file.

VA $PX PC Code Explanation — Displays a description of the specified PC. VA


$PX can only be used in a dialog box. The format of $PX is:
va $px# where # is a PC number.

VA $P? PC Code Exist — Indicates whether the specified PC code exists in the
current PC table (Ono, l=yes). The format of $P? is:
va $p?# where # is a PC number.

VA $P. Truncated Path Name — Displays the truncated path name as established
by the P. default.

VA $P\ Path No Backslash — Indicates the current drive letter and path the same
as $PA does, with the exception that $P\ displays a backslash in the root
directory, whereas SPA does not.

VA $RA Read Attribute — Displays the number of the current type style. This
value only reflects absolute character modes, not additive modes.

VA $RC Resume Code — Indicates which of the valid keystrokes a user pressed in
response to a WM (Wait Message) or BR (Break) command (0=first valid
key, l=second valid key, etc.; 65533=|Enter| (on numpad); 65534= [re] or
|CJl|[Break|; 65535= fEscl).

VA $RE Read-Only File — Indicates whether the current file is a read-only file
(0=no, l=yes).

VA $RK Record Keystrokes — Indicates whether Record Keystrokes mode is on or


off (O=off, l=on).

VA $RL Redlining — Indicates whether redlining is on or off (O=off, l=on).

232
(cont'd) VA Settings

VA $RR Return Error — Displays any errors generated while running a program in
DOS via the DO command.

VA $RS Read Character — Displays the character under the cursor.

VA $RZ Record Separator — Indicates the record separator as XyWrite displays it,
rather than the 3-byte sequence XyWrite uses to store the record separator
internally, which is the value returned by VA RS. $RZ is used primarily in
programs to search for a carriage retum/line feed. Although carriage
returns are represented on the screen as a single character (<-), they are
actually stored internally in a set as carriage return and line feed.

VA $SC Scan Code — Displays the value of the next key pressed, plus the value of
any current shifted state (Caps Lock = 256, Shift = 512, Alt = 1024, Ctrl =
2048, NumLock = 32768). For example, if ? and Caps Lock are pressed,
$SC displays 275 (19 + 256). (Note: If you change the order of the tables in
the definition section of the keyboard file, then the values associated with
each table change accordingly.)

VA $SD Sort Directory — Displays current DSORT (Directory Sort) settings.

VA $SE Search String — Displays last search string.

VA $SF Soft Font List File — Displays the name of the soft font list file loaded into
memory.

VA $SG Text Macro File — Displays the name and location of the cunent text
macro file.

VA $SM Show Menus — Indicates whether a menu is currently displayed (0=no,


l=yes).

VA $SO Sort Setting — Displays the value of the SO (Sort) setting.

VA $SP Spelling Dictionary— Displays the name and location of the current
personal spelling dictionary.

VA $SS Save Styles — Displays the names of the styles defined in the cunent file.
The format is:

va $ssn, where n is a number that refers to the order in which the style
was defined. For example, VA $SS1 displays the name of the first style
defined in the file; VA $SS2 displays the name of the second style defined;
etc. If n is omitted, displays the name of the cunent style.

233
VA Settings (cont'd)

VA $ST Startup — Displays the drive and path of STARTUP.INT.

VA STE Type Effect — Displays the status of the different EF (Special Effect)
settings (O=off, l=on). The format is:

va Sten, where n is the number of the printer effect. (See the description of
the EF command in the Command Reference Guide for more information.)

VA STR Triangle Mnemonic — Displays the mnemonic of the embedded


command on which the cursor is located.

VA STW Text Window — Indicates whether a command window is currently open


(0=no, 1-yes).

VA STX Cursor Location — Indicates whether the cursor is in the text area or in
the header (0=header, l=text).

VA SUF Use Typeface — Displays the name of the current typeface.

^A SUO Use Outline — Indicates whether the printer supports outline fonts (0=no,
l=yes).

VA SVE Version Number — Displays the version number of XyWrite that is


currently loaded.

VA SWA Window Availability — Displays the number of the next available window
that XyWrite will use when a CALL or NEW command is executed. (The
NW default must be set to 1,2, or 3.) SWA displays 0 if all 9 windows are
in use.

VA SWC Word Count — Displays the total number of words counted by the WC,
WCB, or SPELL command (whichever was most recently executed).

VA SWN Window Number — Displays the number of the window that is currently
active (0-9).

VA SWO Windows Open — Displays the number of windows currently open.

VA SWS Window Status — Displays the status of specified window. The format is:
va Swsn, where n is the window you want to check. The following values
are returned:
0 No file open, window is empty.
1 File is open.
2 Directory is displayed.
234
(cont'd) VA Settings

VA * Mode Number— Displays the color number of the specified display


mode. The format is:
va *md where md is the display mode.

VA @ Text Macro — Displays the contents of the specified text macro. The
format is:
va @# where # is the text macro you want to display.

VA [ Additive Mode On — Indicates whether the cursor is in text that uses the
specified additive mode (Ono, l=yes). The format is:
va [md, where md is the mode (for example, va [bo).

VA A Document Summary Items — Displays the contents of the specified


document summary item. The format is:
va Amn where mn is one of the following:
au Author
lg Logon of person who last modified the file
cd Creation date
cm Comments
rv Revision number
ky Keyword
rp Retention period
pj Project number

VA ! Size of Macro— Displays the size of the macro. XyWrite returns 65535 if
macro does not exist; 0 if macro exists but is empty. The format is:
va !#, where # is the macro.

VA § Macro Contains Number — Indicates whether the contents of the


specified macro is a number (0=no, l=yes). The format is:
va §#, where # is the macro.

VA_ Assigned Key— Displays the key to which the specified funebon is
assigned in the current keyboard file. The format is:
va Junction
where function is the function call, character assignment, JM command,
etc. for which you want the key assignment.

This command requires a frame called 1A in the dialog box file. This
frame, which lists the keycodes and the key labels, is in XY4.DLG you
received with XyWrite. If you create a new DLG file and want to use this
VA command, be sure to include the 1A frame in your file.
235
VA X Error Message — Displays the message associated with the specified error
number. The format is:
va \nnn
where nnn is an error number.

236
Appendix A Advanced Keyboard Functions

INTRO The standard XyWrite keyboard file, XY4.KBD, includes several key
assignments that are considered to be "advanced." Some of these keys
provide diagnostic tools that you will find to be useful as you start
customizing XyWrite. Other keys are just handy shortcuts that you can
use in your everyday work with XyWrite. The table on the next page
describes the advanced key set.

A-l
Advanced Keyboard Functions (cont'd)

Keys Function
[Cvi] [Xii] [Shift] A Alternate Menu. Loads an alternate menu file or runs a
program. Refer to the notes section at the beginning of
XY4.MNU for more information about this feature (search for
the word "Developers:" to move quickly to this information).
Note: If you are loading both a MNU file and a DLG file, then
you must have alternates for both.

[evil [Ait] [shift] B BC. Inserts the BC function call at the cursor location.

[Ctrl] [Aft| [Shift] C Copy. Copies the currently selected text to the command line.

[evil [aS] [shift] F Find Latest. Displays a list of files sorted by date, with the
most recent files at the top. You can use this key to display a
list of files in the current directory, in the current directory
and its subdirectories, or on the current disk. This is useful if
you have lost a file that you recently created and don't
remember its exact name.

[evil [Aft] IShitilK Keyboard Diagnostics. Helps you customize keyboard files.
To use this key, first display the keyboard file (XY4.KBD, for
example) and press lCvi|[ah|[ShiftlK. XvWrite presents three
options: (1) you can identify the key code (1-104) associated
with the next key you press; (2) you can move the cursor onto
a key definition and identify the key associated with that
code; or (3) you can jump to one of the tables in the keyboard
file.

Load a File. Displays a dialog box that gives you four options:
(1) you can load the displayed file; (2) save the displayed file
and then load it; (3) copy the displayed file to a temporary file
named LOAD.TMP and then load the temporary file; or (4)
load a file other than the one currently displayed.

[evil [Alt] [Shift] M Move. Moves the selected text to the command line.

^j] [m] [Shift] N Next File. When you issue the Call command with a global
filename (for example, CALL *.DOC), this key combination
displays the next file that matches the specification. You can
edit the file (if you wish) and press this key combination
again to store the current file and open the next one.
(cont'd) Advanced Keyboard Functions

Keys Function
[CwllMirShiftlP Print Expanded. Prints the current file in expanded view, with
embedded commands printed in angle brackets. This key is
useful for printing a hard copy of program files. It is also
useful for diagnosing embedded commands in any
document.

[ail[A)tlfshSlQ Quick Build. Displays a dialog box for verification. This key
is useful when customizing menus, because it lets you verify
a new or revised dialog box without saving and reloading the
menu file. To use this key, display the menu file, create or
edit a dialog box (type K frame), move the cursor anywhere
past the keyword, and then press |Ctri||Ait||Shlft|Q.

[CvillWtlfShittlR Resume. Displays a dialog box with two choices: Save


settings and Restore settings. When you save settings,
XyWrite creates an XPL program containing information
about every window you have open: window number,
filename, view (draft, graphic, etc.), and cursor position. If
you had a macro file in effect, information about it is
captured, too. When you restore settings, XyWrite runs the
XPL program, calling each file, putting it into the appropriate
view, and restoring its latest cursor position. Your macro file
is loaded into memory too. Resume can be used to capture
the status of your work before you store it to disk at the end
of the day; when you restore settings, XyWrite returns you to
where you left off. Window sizes are currently not recorded
or restored.

I Ctrl II Alt II Shift IS Status. Displays a dialog box that lists the currently loaded
XyWrite custom files. It also gives you the option of
loading/running or opening one of the custom files.

[cSil[AH|[ShSlT Time/Date. Displays a message box that contains the current


date and time.
[CW][Ait|[Shifi|V Values. Displays a list of formatting values in effect at the
current cursor location.

[Ctri] [Xit] [Shittl X Programming Diagnostics. Displays a didog box you can use
to enter function calls into your program files or to tum on
the DB (Debugging) default setting.

A-3
Advanced Keyboard Functions (cont'd)

Key* Function
[w][m][s^]Z Last Commands. Displays the result of the last commands
executed through the menus. For example, when you import
text into a file, Last Commands will show you the command
that actually created the link. This feature has been
implemented only for some of the more complex operations,
such as importing text, and for default commands.
[^i][M][ShS]? Help. Displays a list and brief description of the advanced
keys.

A-4
Appendix B Terminate & Stay Resident Programs

Intro Terminate and Stay Resident (TSR) programs are programs that are loaded
into memory and can be instantly activated by pressing a hot key. For
example, you might run a calendar TSR program that keeps track of your
appointments; you don't need the program to be active all the time, but
you want to be able to access it quickly so you can check your schedule.
3270 emulation programs are another common example of TSR programs;
the emulation programs allow you to communicate with mainframe
computers. This appendix describes the special setup needed to avoid
conflicts between XyWrite and TSR programs.

B-l
Terminate & Stay Resident Programs (cont'd)

Purpose To use a TSR program with XyWrite, you must complete a few simple
steps. Otherwise, you may find that the TSR interferes with the XyWrite
operation. The steps are:

1. Determine that you have enough memory.


2. Modify your XyWrite keyboard file.
3. Load the TSR and XyWrite.

These steps are explained in detail below. Note that the procedures
assume that both the TSR and XyWrite are already installed on your
computer.

Action Evaluating Memory Requirements


To determine if you have enough memory to run a TSR and XyWrite
simultaneously:

1. Determine how much conventional memory is available on your


computer. If you aren't sure, there are utility programs available that
will give you information about your hardware setup.
2. Subtract 384KB from the available memory. XyWrite requires a
minimum of 384KB (512KB is recommended).
3. Compare the result of step 2 with the memory requirements of the TSR.

Result: If there is enough memory, go to the next procedure. Otherwise,


you cannot run both programs simultaneously.

Action Modifying the XyWrite Keyboard File


TSR programs are activated by pressing a hot key. To accommodate the
hot key, you need to modify the XyWrite keyboard file. There are two
different modifications, depending on how the TSR program interacts
with the keyboard.

If the TSR program uses a different keyboard map than XyWrite or


changes the keyboard interrupt handling in any way, you need to assign
the KF function call to the hot key (see Note #1). The procedure is:

1. Open the XyWrite keyboard file you want to modify. For example:
Type: (Fsjcall xy4.kbd0

2. Refer to the diagrams at the top of the file to determine the key code of
the hot key.

B-2
(cont'd) Terminate & Stay Resident Programs

3. Search for the table you want to modify. For example:


Type: [rejse/table=alt/E3

4. Search for the key code of the hot key. For example, if the hot key is
iBadspaoel:
Type: [F51se /14/[7i|

5. After the equals sign, type the KF (Keyboard Flip) function call. The
line will look like this:
14=KF*-

6. Store and load the keyboard file.

If the TSR program doesn't modify keyboard handling, you don't need the
KF function call. Instead, assign a null character to the key. The procedure
is:

1. Perform steps 1-3 from the previous procedure.

2. After the equals sign, type a null character.


Type: fciril [AttlO

Result: A blank space appears after the equals sign.

3. Store and load the keyboard file (see Note #2).

ACTION Loading the TSR Program and XyWrite


The last step in the setup process is to load the TSR program and XyWrite.
The important thing to remember about this step is that the TSR must be
loaded into memory before you start XyWrite. The proper sequence is:
quit XyWrite, run the TSR program, then run XyWrite.

If the TSR and XyWrite are part of your standard setup, you may want to
modify the AUTOEXEC.BAT so that it automatically loads the TSR before
XyWrite. To do that:

1. OpenAUTOEXEC.BAT.
Type: [fsjcall \autoexec.bat0

2. Search for the line that loads XyWrite.

Type: [Fsjse /editor/0

B-3
Terminate & Stay Resident Programs (cont'd)

3. Immediately above the EDITOR line, enter the command to load the
TSR.

4. Store the file.

5. Reboot the computer.

Result: Both programs are now in memory. You can activate the TSR by
pressing the appropriate hot key.

NOTE #1 Predefined Hot Keys. The standard XyWrite keyboard file, XY4.KBD,
preassigns the KF function call to [wltEscl, [CtrilfEsc], and [Art][Tabl. If the TSR you
want to run is activated by one of these hot keys, you don't have to
modify the keyboard file. Alternatively, if you don't need these hot keys,
you can assign a different function call to one or more of them.

NOTE #2 Startup. You can have your keyboard file automatically loaded at startup
by adding a line to your STARTUP.INT file. For example, the following
entry loads a keyboard file named XY4.KBD.
BC load xy4.kbd«-
Refer to "Startup File" for more information on modifying STARTUP.INT.
Appendix C Foreign Language Support

INTRO XyWrite was designed to be used in a variety of languages, as indicated by


its extensive character set and its support of foreign-language spelling,
hyphenation, and synonyms. This appendix describes two XyWrite
functions that enhance the foreign language support: the UC (Uppercase)
string and the Accent Table.

Contents page section


C-2 Uppercase String
C-3 Accent Table

C-l
Uppercase String UC

FORMAT UC<nNnNnN...
n is the lowercase version of a character
N is the uppercase version of a character
MENU Not a menu option

Purpose XyWrite uses 191 standard uppercase/lowercase character pairs when it


executes the UC (Uppercase), LC (Lowercase), CC (Change Case), and CF
(Capitalize First) commands. These character pairs are built into XyWrite,
but if you want to customize them, you can enter the UC string into
SETTINGS.DFL.
When you enter the UC string, you must include all the characters you want
XyWrite to recognize as pairs, not just the ones you are adding. Because of
this, we recommend that you get a soft copy of the built-in character pairs
from Technical Services and use that as a basis for the new string.

Action Modifying a UC String


To create a customized UC (Uppercase) string, you should first request a
copy of the standard string from Technical Services. Then;
1. Call SETTINGS.DFL.
Type: [55] call settings.dflCT
2. Move the cursor to the end of the file.
Press: [cm] [£ndl
3. Merge the file that contains the default UC string. For example:
Type: [F5]merge caseF^l
4. Make the desired modifications to the UC string in SETTINGS.DFL.
5. Store the file.
Type: [^JstoreH
6. Load SETTINGS.DFL.
Type: [Fsjload settings.dfl[3
NOTE Errors. Even if you input the UC string incorrectly, you may still be able to
load SETTINGS.DFL successfully. If you get the message "Command is
not recognized" when entering standard XyWrite commands, you may
have omitted an uppercase/lowercase pair from the UC string. Similarly,
if you incorrectly input a pair, the search and change case commands will
not function properly. Should you encounter such errors, review the UC
string and make the appropriate corrections.

C-2
AC Accent Table

Format AC:h
stringl ? \co> Aft
string!

stringn
n is the number of lines in the table.
stringl...stringn defines the floating accents and the characters associated
with them.
MENU Not a menu option

Purpose The XyWrite character set has an extensive selection of accented


characters. Most of these characters are not assigned to keys. If you are
working in a foreign language, you can remap the keyboard so that you
can easily access the characters you use most frequently. Otherwise, you
can enter the accented characters by pressing [CvillAii] and typing the
character number or using the Insert Other option from the Options menu.
The AC (Accent) Table gives you another alternative for entering accented
characters. The AC Table defines floating accents and the characters
associated with the accents. To use the information in this table, you press
the key assigned to the floating accent and then the key of the character
you want to accent. XyWrite automatically enters the accented character
in your document.
This method saves you from the burden of remembering character
assignments and minimizes the number of keys you have to dedicate to
accented characters.
XyWrite has a built-in AC Table that defines the following floating
accents:
I

Acute (SI) £ Cedilla (XX,,) ).


Grave (S2) (A Stroke/slash (XX,/) /
Umlaut (S3) to Double acute (XX,") **
Circujnflex (S4) —Maeron-(XX,=)-
ZV e> Oyefaot (S5)
NV’
II Ogonek(XX,<)
I 2^ Caron (XX,-)
c
-J Tilde (S6)
MctCh^Undprline (S7) 13 Breve (XX,') ■ i i'
ited with it, and the function calls
Each accent has a function call associated
need to be assigned to keys in order for the information in the AC Table to
be in effect. The function calls are shown in parentheses above, and the
procedure for modifying the keyboard file is provided below.

C-3
Accent Table (cont'd)

ACTION Modifying the Accent Table


The built-in AC Table includes all the accented characters in XyWrite's
character set. It is unlikely that you will ever need to modify it, but the
procedure below explains the necessary steps should you find a reason to.
To create a customized AC Table, you should first request a copy of the
standard table from Technical Services. Then:
1. Call SETTINGS.DFL.
Type: [fsjcall settings.dfl[Z0
2. Move the cursor to the end of the file.
Press: fta] [£ndl
3. Merge the file that contains the default AC Table. For example:
Type: [fs] merge accents[Ti]
4. Make the desired modifications to the AC Table in SETTINGS.DFL. To
define a new floating accent:

• Go to the end of the table.


• Type the accent, a comma, the unaccented version of the first
character, and then the accented version of the character.
• Type all the character pairs (unaccented followed by acented)
associated with this accent.
5. Store the file.
Type: [fsjstoreQ
6. Load SETTINGS.DFL.
Type: [f5]load settings.dfllZi]

Result: The AC Table is loaded in memory, but you must complete the
following procedure before you can use the floating accents.

ACTION Modifying the Keyboard File


You must modify the keyboard file in order for XyWrite to recognize
floating accent characters in the AC Table. If you want to use all the
floating accents, you may want to add a new table to the keyboard file so
that you have an entire set of keys from which to select the key
assignments. To add a new table for the floating accents:

1. Decide which keys you want to assign to the floating accents. For
example, you might assign the acute accent to A, the grave accent to G,
etc.
2. Call your keyboard file to the screen. For example:
Type: [fsjcall xy4.kbdQ
(cont'd) Accent Table

3. Refer to the diagram at the top of the file. Make a note of the key codes
for the keys you selected in step 1.
4. Move to the end of the file.
Press: [evil [End]
5. Enter the first line of the new table. For example, to enter a table for
CTRL+CAPS:
Type: TABLE=CTRL+CAPS<-
6. Enter the assignment for the first key. For example, to assign the acute
accent (function call SI) to key A (key code 30):
Type: 30=s1«-
7. Repeat step 6 for each floating accent.
8. Store and load the keyboard file.

Result: You can now use floating accents to create accented characters.
For example, if you assigned the acute accent to key A and entered want
to enter

NOTE Printer Output. The AC table affects the screen display only. If the
accented character is not part of the printer's standard character set, you
must make the appropriate entry in the character substitution file.

C-5
Notes

C-6
Appendix D Reserved XyWrite Elements

This appendix lists ID numbers, keywords, and macros reserved for use
by XyWrite.

RESERVED KEYWORDS
The following keywords, which can be used only with Type K frames, are
reserved for special functions in the XyWrite menu file:
/g Macro directory
/m Memory menu
/s Spelling menu
/h HP menu to decode soft font files
/t Expanded names for commands
/y Thesaurus
/u File summary

If you use one of these reserved keywords, no other keywords can appear
between the pair of double curly braces (()} in the label.

RESERVED ID NUMBERS
The following control ID numbers are reserved for special functions.
1 Typically the OK pushbutton
2 Typically the CANCEL pushbutton
50 Remove item from printer queue
51 Move item to top
52 Stop printing
53 Resume printing
54 See JB codes in PC menu
55 Set JB codes
56 See PB codes
57 Set PC codes
58 Rewind printer queue
59 Look up synonyms
60 Return to original synonyms
61 Print a directory (directory must be in an LF box)
62 HELP pushbutton for a dialog box
98 Path that gets updated
90-99 Don't interpret ampersand (&) as an accelerator
100 Text box where path is located. Used with/LS, so user can
switch directories from text box and still allow /LS to work.
251-256 Don't strip trailing spaces (used in Search and Replace)

D-l
Reserved XyWrite Elements (cont'd)

Reserved Macros
100-999 Reserved for user; they must not be used in menu programs.
1000-1399 Unreserved - can be used by any item
1400-1499 Reserved for third-party developer's permanent (session)
storage.
1700-1799 Reserved for future expansion.
1800-1899 Reserved temporarily for operations performed in this
session only.
1900-1999 Reserved for use by XyWrite; currently they have the
following uses:
1900 - Dir for documents (files that are NOT loaded or run),
including *.TPL, *.FRM and MEMOPAD. (Set at installation.)
1901 - Dir for files that are loaded or run. Original location of
SETTINGS.DFL. (Set at installation.)
1902 -
1903 -
1904 - Dir for COLOR SET files
1905 - Dir for MACRO files
1906 - Dir for PRINTER files
1907 - Dir for DATABASE Condition files
1908 - Dir for IBM2T1F.EXE
1909 -
1910 - Dir for TEMPLATE files
1911 • Dir for FORMS files
1912 - Dir and name of MEMOPAD
1913 -
1914 -
1915 - Dir for PRINTER FONT bitmap files
C:\XY4\PRNFONTSW
1916 - Dir for SOFT FONT LIST files C:\XY4\PRNFONTS\ *.SFL
1917 -
1918 -
1919 -
1920 • (reserved)
1921 - List of filters for saving text files
1922 - List of filters for spreadsheets
1923 - List of filters for database
1924 - List of filters for graphics
1925 - List of filters for opening text files
1926 -
1927 -
1928 -
1929 -
1930 -

D-2
(cont'd) Reserved XyWrite Elements

1931 Marker no. used for TOC if diff. from "1" (Can be 1-9)
1932 Marker no. used for Index if diff. from "2" (Can be 1-9)
1933 Marker used for Footnote set if diff. from "1" (Can be 1-3)
1934
1935
1936
1937
1938
1939
1940 User's choice of "Recorded keystrokes" or "Stored file"
1941 Cursor position (CP) of MEMOPAD file
1942
1943 Cursor position (CP) of PERS-DIR file
1944
1945 Currency format for spreadsheet import
(LEADING/TRA1LING)
1946 Currency format for spreadsheet import (PERIOD/COMMA)
1947
1948 Counter (1-9) for multiple-save backup (not currently used)
1949 Number of backups user has requested (not currently used)
1950 Prefer Command Line (cm) or Dialog Box (null), used for
Search, Replace and Use Style
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962 Copy to screen (s) or clipboard (c) (not currently used)
1963
1964 Flag for dir listing in Open:
"OpenComments"/"OpenNoComments"
1965 Display subdir filenames "OpenSubdir" /"OpenNoSubdir"
(not used)
1966
1967 Name of default template in New
1968
1969
1970
1971 Custom date format

D-3
Reserved XyWrite Elements (cont'd)

1972 - Check box for saving changes to Macro file. (1=STSGT, 0=No
save)
1973 - Insert TOC and Index and text (1) or marker (0)
1974 - Check box in New for "Include Default Style"
1975 - Directory command and switches for Manage Files
(D1R/FI/LO)
1976 -
1977 - Check box for "Offset for facing pages" in Page Setup
1978 - Check box for "Display document info" in Manage Files
1979 -

1980 - Top margin and page length for portrait sizes : letter, legal,
executive, A4 and A5. Values are separated by vertical bars
(■)•
1981 - Page width, form depth, top margin and page length for
portrait custom. Values are separated by vertical bars (I)
1982 - Top margin and page length for landscape sizes: letter, legal,
executive, A4 and A5. Values are separated by vertical bars
(!)•
1983 - Page width, form depth, top margin and page length for
landscape custom. Values are separated by vertical bars (!)
1984 - Check box for "Include page number" in "NewH/F".
1985 - Value for "Blank lines following header" in "NewH/F"
1986 - Check box for "Swatch to new file" in Save As.
1987 - Sort criteria for DSORT in Manage Files.
1988 -
1989 -
1990 - Envelopes: Top and Left margins for Non-Laser printers
1991 - Envelopes: Top and Left margins for Laser-Manual feed,
from center of tray
1992 - Envelopes: Top and Left margins for Laser - Manual feed,
from edge of tray
1993 - Envelopes: Top and Left margins for Laser-Tray/Feeder
1994 -
1995 - (reserved)
1996 - (reserved)
1997 - (reserved)
1998 - (reserved)
1999 - Filename for alternate menus
Appendix E XyWrite Character Set

Purpose XyWrite has a unique character set that is designed to support a wide
range of languages. The following pages show all 909 XyWrite characters.

Action Typing Special Characters


To type a XyWrite character:
1. Press and hold: fciri][Ait]
2. Type the character number using the numeric keypad. For example, to
enter character 174:
Press: 174

Action Displaying Special Characters


Not all characters from the character set can be displayed on the screen. If
a character is not displayable, its character number appears in the text
inside square brackets.
In formatted view, the characters that are displayed depend on the code
page that you are using (the default is 437). In graphic view, characters
that are part of the Bitstream character set arc displayed. In the table on
the following pages, the letter N indicates characters that are not
supported by the Bitstream character set. Other characters are not
available in the Bitstream set, but are represented by similar characters
that are available. The letter P in the table indicates that such a
substitution has been made.

Action Printing Special Characters


The ability to print special characters is printer-dependent. Some printers
have an image mode, which means that anything that can be displayed in
graphic view can be printed. Other printers offer a wide range of
character sets and can include characters that are not part of the character
set.

To determine if your printer can produce a special character, print the


sample file CHARSET provided with XyWrite. Be sure to enter the name
of the typeface (and symbol set if you are using a Hewlett-Packard laser
printer) you want to test for character availability.

NOTE Using the Menus. The menus allow you to enter a special character into a
file without identifying it by number. Choose Other from the Insert
menu, then choose Special Char.

E-l
XyWrite Character Set (cont'd)

Character Bitstream
Code « Character Name Character Supported

01 Smiling face ©
02 Smiling face, reverse image •
03 Heart suit symbol

04 Diamond suit symbol ♦

05 Club suit symbol A

06 Spade suit symbol ♦

07 Bullet •
08 Bullet reverse □

09 Open circle o
10 Open circle reverse ®

11 Male symbol

12 Female symbol 0
13 Eighth note

14 Two sixteenth notes 4


15 Sun symbol o
16 Right arrowhead ►
17 Left arrowhead <
18 Up down arrow

19 Double exclamation point II


20 Paragraph symbol 1

21 Section symbol §
22 Solid horizontal rectangle -
23 Up down arrow perpendicular

24 Up arrow f
25 Down arrow 1
26 Right arrow —•

27 Left arrow -

E-2
(cont'd) XyWrite Character Set

Character Bitstream
Code # Character Name Character Supported

28 Right angle symbol -


29 Left-right arrow

30 Solid triangle A

31 Solid triangle, inverted ▼

32 Space

33 Exclamation point !
34 Quotation marks ■

35 Number sign

36 Dollar sign $

37 Percent sign %

38 Ampersand &

39 Apostrophe >

40 Left parenthesis (

41 Right parenthesis )

42 Asterisk •

43 Plus sign +

44 Comma 1

45 Hyphcn/minus sign •

46 Period/full stop •

47 Slash /

48 Zero 0

49 One 1

50 Two 2

51 Three 3

52 Four 4

53 Five 5

54 Six 6

E-3
XyWrite Character Set (cont'd)

Character Bitstream
Code * Character Name Character Supported

55 Seven 7
56 Eight 8
57 Nine 9

58 Colon :
59 Semicolon

60 Less than <

61 Equal sign =
62 Greater than >

63 Question mark 7

64 At sign @
65 A A

66 B B

57 C C

68 D D

69 E E
70 F F

71 G G

72 H H

73 I I

74 J J

75 K K

76 L L

77 M M

78 N N

79 O (Cyrillic) O

80 P P

E-4
(cont'd) XyWrite Character Set

Character Bitstream
Code # Character Name Character Supported

82 R R

83 S S

84 T T

85 U U

86 V V

87 W W

88 X X

89 Y Y

90 Z Z

91 Left bracket [

92 Back slash \

93 Right bracket 1

94 Circumflex accent

95 Underline/continuous underscore

96 Grave accent %

97 a a

98 b b

99 c c

100 d d

101 c e

102 f f

103 8 8

104 h h

105 i i

106 j j

107 k k

108 I •

E-5
XyWrite Character Set (cont'd)

Character Bitstream
Code # Character Name Character Supported

109 m m

110 n n

111 o (Cyrillic) o

112 P p
113 q q
114 r r

115 s s

116 t t

117 u u

118 V V

119 w w

'20 X X

11 y y
22 z z

123 Left brace (

124 Vertical line/logical OR 1

125 Right brace }

126 Tilde accent -

127 Small house o

128 C Cedilla <?

129 u umlaut u

130 e acute (Greek) t

131 a circumflex a

132 a umlaut a

133 a grave a

134 a overcirde J

135 c cedilla ?

136 e circumflex 8

E-6
(cont'd) XyWrite Character Set

Character Bitstream
Code S Character Name Character Supported

137 e umlaut c

138 c grave 4

139 i umlaut i

140 i circumflex I

141 igrave 1
142 A umlaut A

143 A ovcrcirclc A
144 E acute (Greek) 6
145 ae diphthong 8C

146 AE diphthong

147 o circumflex d
148 o umlaut a
149 o grave a
150 u circumflex 0
151 u grave ft

152 y umlaut y

153 O umlaut 0

154 U umlaut 6
155 Cent sign e

156 Pound sterling sign £


157 Yen sign ¥

158 Peseta sign Pt

159 Florin sign f


160 a acute small (Greek) i.
161 iacute

E-7
XyWrite Character Set (cont'd)

Character Bitstream
Code # Character Name Character Supported

162 o acute 6

163 u acute u

164 n tilde n

165 N tilde N

166 Ordinal indicalor/Tcminine a


167 Ordinal indicator/masculine a

168 Question mark, inverted L


169 Start of line symbol -
170 Logical NOT/cnd of line symbol

171 One half a


172 One quarter K

I! Exclamation point, inverted i

74 Left angle quotes «

175 Right angle quotes »

176 Fill character, light :::

177 Fill character, medium &


178 Fill character, heavy

179 Center box bar vertical 1

180 Right middle box side 4

181 Right box side double to single =1

182 Right box side single to double 41

183 Upper right box corner single to double T

184 Upper right box corner double to single =1

185 Right box side double 41

186 Center box bar double 1

187 Upper right box comer double =il

188 Lower right box comer double =3

E-8
(cont'd) XyWrite Character Set

Character Bitstream
Code # Character Name Character Supported

189 Lower right box corner single to double JI

190 Lower right box corner double to single d

191 Upper right box corner 1

192 Lower left box corner L

193 Middle box bottom _L_

194 Middle box top T

195 Left middle box side F


196 Center box bar horizontal —

197 Box intersection +


198 Left box side single to double h
199 Left box side double to single IF
200 Lower left box corner double ik

201 Upper left box corner double lr


202 Middle box bottom double JL

203 Middle box top double

204 Left box side double

205 Center box bar horizontal double =


206 Box intersection double

207 Middle box bottom single to double =L

208 Middle box bottom double to single JL

209 Middle box top double to single ST=

210 Middle box top single to double nr

211 Lower left box corner double to single IL

212 Lower left box corner single to double

213 Upper left box corner single to double F


214 Upper left box corner double to single r
215 Box intersection single to double +
216 Box intersection double to single +
E-9
XyWrite Character Set (cont'd)

Character Bitstream
Code » Character Name Character Supported

217 Lower right box corner -J

218 Upper left box comer r


219 Solid Till character ■
220 Solid fill character, bottom half ■■
221 Solid fill character, left half 1
222 Solid fill character, right half 1
223 Solid fill character, top half ■
224 Alpha small (Greek) a

225 Sharps (small) B

226 Gamma capital (Greek) r

227 Pi small (Greek) w

228 Sigma capital (Greek) X

229 Sigma small (Greek) a

30 Mu small (Greek) n

231 Tau small (Greek) T

232 Phi capital (Greek)

233 Theta capital (Greek) e

234 Omega capital (Greek) n

235 Delta small (Greek) 5

236 Infinity symbol 00

237 Phi small (Greek) <#>

238 Epsilon small (Greek) e

239 Intersection symbol n

240 Identity symbol, almost equal =

241 Plus or minus sign ±

242 Greater than or equal to

243 Less than or equal to

Upper integral symbol section f

E-10
(cont'd) XyWrite Character Set

Character Bitstream
Code H Character Name Character Supported

245 Lower integral symbol section J


246 Divide sign

247 Nearly equals symbol

248 Degree symbol •

249 Product dot -

250 Middle dot

251 Radical symbol ✓

252 n superscript a

253 Two superscript 2

254 Solid squarc/histogram square bullet ■

255 Em space

256 Superior copyright mark ©

257 Superior registered trademark •

258 Ellipsis ...

259 En dash -

260 Em dash -

261 En space

262 Left single angle quote <

263 Right single angle quote •


264 Left double quote u

265 Right double quote ft

266 Left single quote

267
t
Right single quote

268 Right parenthesis, small )

269 Left parenthesis, small t

270 Franc sign Fr

271 Numeric space

E-ll
XyWrite Character Set (cont'd)

Character Bitstream
Code « Character Name Character Supported

272 Peseta sign Pl

273 Middle box bottom single to double =J=


274 Middle box top double to single

275 Upper right box corner single to double T>


276 Upper right box comer double to single 1

277 Lower right box corner double to single J

278 Lower left box comer double to single !L

279 Lower left box comer single to double L

280 Upper left box comer double to single r


281 Upper left box comer single to double F
’82 Reserved

33 Right box side double to single 4

.84 Middle box bottom double to single JL

285 Middle box top single to double nr


286 Box intersection double to single +
287 Box intersection single to double +

288 Left box side double to single IF


289 Right box side single to double 41
290 Lower right box corner single to double JJ

291 Solid Till character, left half 1


292 Left box side single to double h
293 Solid Fill character, right half 1
294 Alpha small (Greek) a p

295 Alpha capital (Greek) A p

296 Identity symbol, almost equal =

297 Gamma small (Greek) V N

E-12
(cont'd) XyWrite Character Set

Character Bitstream
Code K Character Name Character Supported

298 Gamma capital (Greek) r P

299 Greater than or equal to £

300 Pi small (Greek) 7T P

301 Pi capital (Greek) n N

302 Less than or equal to s

303 Sigma small (Greek) (7 P

304 Sigma capital (Greek) X P

305 Upper integral symbol section f


306 Mu small (Greek) P

307 Mu capital (Greek) M P

308 Nu small (Greek) V N

309 Nu capital (Greek) N P

310 Lower integral symbol section J


311 Tau small (Greek) T P

312 Tau capital (Greek) T P

313 Nearly equals symbol aw

314 Phi capital (Greek) 4> P

315 Theta capital (Greek) e P

316 Product dot •


317 Delta small (Greek) s P

318 Radical symbol v


319 Infinity symbol 00

320 Phi small (Greek) <t> N

321 Epsilon small (Greek) e P

322 Epsilon capital (Greek) E P

E-13
XyWrite Character Set (cont'd)

Character Bitstream
Code # Character Name Character Supported

323 Intersection symbol n


324 d stroke d

325 Lacute L

326 Double acute accent *

327 I acute i

328 N acute fl

329 Caron accent *

330 Ovcrdot accent •

331 Ogonek accent «


332 a ogonek 4
333 A ogonek A
334 n acute n

35 Breve accent •

>36 u overcircle 0

337 L caron c P

338 N caron fl

339 n caron 6

340 c acute 6

341 I caron r P

342 Z caron 2

343 A breve A

344 Scaron §

345 S acute §

346 z caron

347 E caron 6

348 a breve 4

349 s caron

E-14
(cont'd) XyWrite Character Set

Character Bitstream
Code # Character Name Character Supported

350 I stroke t
351 s acute t
352 E ogonck

353 S cedilla s
354 e caron i

355 c ogonck q

356 O double acute 6


357 o double acute 6

358 zacute t

359 U double acute 0


360 u double acute 6

361 Ccaron c

362 N macron N

363 Z acute i.

364 L stroke t

365 s cedilla ?

366 Z overdot 2
367 T cedilla T
368 r caron r

369 R caron A
370 z overdot z

371 U ovcrcircle 0
372 t cedilla 1

373 C acute 6
374 c caron 6

375 g small (Cyrillic) r N

376 Eta small (Greek) 7 P

E-15
XyWrite Character Set (cont'd)

Character Bitstream
Code # Character Name Character Supported

377 Eta capital (Greek) H N

378 Theta small (Greek) e P

379 Phi small 4> P

380 Omicron small (Greek) o P

381 Omicron capital (Greek) o P

382 Omega capital (Greek) n P

383 Upsilon umlaut capital (Greek) Y P

384 Delta capital (Greek) A P

385 Beta small (Greek) P P

386 Beta capital (Greek) B P

387 One-third W

388 Two-thirds %

389 Fraction bar -

390 Hyphen dash -

391 Dagger t

392 Double dagger t

393 Radical, tape mark 7

394 Solid diamond ♦

395 Trademark symbol

396 Open square □

397 Lozenge H

398 One-fourth 1

399 One-half 1

400 Three-fourths 1

n superscript D
401

402 Solid square, small ■

403 Three-eighths y.

404 One-eighth ■/.

E-16
(cont'd) XyWrite Character Set

Character Bitstream
Code # Character Name Character Supported

405 Five-eighths y.
406 Seven-eighths ’/«

407 D stroke, capital D

408 o (Cyrillic) o P

409 O (Cyrillic) o P

410 U breve (Cyrillic) V P

411 G capital (Cyrillic) r P

412 Oniicron acute small (Greek) 6 P

413 Omicron acute capital (Greek) 6 N

414 Start of line symbol r—

415 D caron capital 0 N

416 D caron small a N

417 R acute capital A N

418 r acute small f N

419 T caron capital T N

420 t caron small T N

421 d special small (Cyrillic) n N

422 kh small (Cyrillic) X P

423 KH capital (Cyrillic) X P

424 Ij small (Cyrillic) JB N

425 Lf capital (Cyrillic) Ji N

426 I small (Cyrillic) n N

427 L capital (Cyrillic) JI N

428 m small (Cyrillic) M N

429 M capital (Cyrillic) M P

430 YA capital (Cyrillic) fl N

431 D special capital (Cyrillic) •B N

E-17
XyWrite Character Set (cont'd)

Character Bitstream
Code # Character Name Character Supported

432 y small (Cyrillic) bl N

433 g special small (Cyrillic) f N


434 nj small (Cyrillic) H> N

435 a small (Cyrillic) a P

436 b small (Cyrillic) 6 N

437 e small (Cyrillic) c P

438 n small (Cyrillic) H N

439 N capital (Cyrillic) H P

440 r small (Cyrillic) P P

441 R capital (Cyrillic) P P

r2
43
s small (Cyrillic)

S capital (Cyrillic)
c

c
P

444 Y capital (Cyrillic) bl N

445 G special capital (Cyrillic) f N

446 NJ capital (Cyrillic) H> N

447 A capital (Cyrillic) A P

448 B capital (Cyrillic) E N

449 E capital (Cyrillic) E P

450 especial capital (Cyrillic) fi N

451 is small (Cyrillic) D N

452 C special capital (Cyrillic) N

453 TS capital (Cyrillic) n N

454 t small (Cyrillic) T N

455 Tcapital (Cyrillic) T P

456 u small (Cyrillie) y P

457 U capital (Cyrillic) y N

458 sh small (Cyrillic) m N

E-18
(cont'd) XyWrite Character Set

Character Bitstream
Code # Character Name Character Supported

459 ye small (Cyrillic) e N

460 YE capital (Cyrillic) e N

461 e umlaut small (Cyrillic) c P

462 E umlaut capital (Cyrillic) fi P

463 k special small (Cyrillic) N

464 d small (Cyrillic) □ N

465 k small (Cyrillic) k N

466 SU capital (Cyrillic) in N

467 K special capital (Cyrillic) R N

468 D capital (Cyrillic) □ N

469 i small (Cyrillic) H N

470 I capital (Cyrillic) H N

471 i special small (Cyrillic) i P

472 I special capital (Cyrillic) 1 P

473 i umlaut small (Cyrillic) 1 P

474 I umlaut capital (Cyrillic) I P

475 j small (Cyrillic) j P

476 J capital (Cyrillic) J P

477 K capital (Cyrillic) K N

478 s special small (Cyrillic) 5 P

479 S special capital (Cyrillic) s P

480 e special small (Cyrillic) 3 N

481 E special capital (Cyrillic) 3 N

482 u breve small (Cyrillic) y P

483 p small (Cyrillic) n N

484 zh small (Cyrillic) X N

485 Zl I capital (Cyrillic) X N

E-19
XyWrite Character Set (cont'd)

Character Bitstream
Code u Character Name Character Supported

486 shch small (Cyrillic) ID N

487 SUCH capital (Cyrillic) UI N

488 dz special small (Cyrillic) u N

489 DZ special capital (Cyrillic) n N

490 f small (Cyrillic) * N

491 Fcapital (Cyrillic) <j» P

492 v small (Cyrillic) B N

493 V capital (Cyrillic) B P

494 z small (Cyrillic) 3 N

’,95 Z capital (Cyrillic) 3 N

1 6 ch small (Cyrillic) q N

n yu small (Cyrillic) » N

498 CH capital (Cyrillic) q N

499 YU capital (Cyrillic) hO N

500 i special small (Cyrillic) R N

501 J special capital (Cyrillic) R N

502 P capital (Cyrillic) TT N

Soft sign small (Cyrillic) b N


503

504 Hard sign small (Cyrillic) N

505 ya small (Cyrillic) R N

506 Soft sign capital (Cyrillic) b N

507 Hard sign capital (Cyrillic) b N

508 Numcro sign (Cyrillic) N° N

509 Iota acute capital (Greek) 1 N

510 Iota umlaut small (Greek) I P

511 Iota umlaut capital (Greek) I P

Zeta small (Greek) ? N


512
Zeta capital (Greek) Z P
513

E-20
(cont'd) XyWrite Character Set

Character Bitstream
Code # Character Name Character Supported

514 Iola acute and umlaut small (Greek) t N

515 Upsilon small (Greek) u N

516 Upsilon capital (Greek) Y P

517 Upsilon acute small (Greek) N

518 Iota small (Greek) 1 P

519 Iota capital (Greek) I P

520 Psi capital (Greek) N

521 Kappa small (Greek) K N

522 Kappa capital (Greek) K N

523 Chi small (Greek) X N

524 Chi capital (Greek) X P

525 Upsilon acute capital (Greek) y N

526 Lambda small (Greek) A N

527 Alpha acute capital (Greek) A N

528 Lambda capital (Greek) A N

529 Psi small (Greek) V N

530 Acute and umlaut accent N

531 Omega acute capital (Greek) n N

532 Xi small (Greek) 5 N

533 i umlaut small (Greek) 1 P

534 I overdol capital (Greek) t

535 Omega small (Greek) U) N

536 Alpha acute small (Greek) i N

537 Rho small (Greek) P N

538 Reserved N

539 Upsilon umlaut small (Greek) o N

540 Epsilon acute small (Greek) e N

541 Epsilon acute capital (Greek) £ N

E-21
XyWrite Character Set (cont'd)

Character Bitstream
Code # Character Name Character Supported

542 Xi capital (Greek) = N

543 Omega acute small (Greek) ci N

544 Eta acute small (Greek) <1 N

545 Eta acute capital (Greek) "H N

546 Iota acute small (Greek) I P

547 g breve small •s5 N

548 G breve capital N

549 Long dash/throughscore —

550 Sigma small-final form (Greek) c N

551 Minutes symbol • N

552 Seconds symbol N

553 Upsilon acute and umlaut small (Greek) 6 N


554 Integral symbol J N
555 Five subscript s
556 Zero subscript 0
557 Zero superscript 0

558 Four superscript 4

559 Five superscript 5

560 Six superscript 6

561 Six subscript 4


562 Seven superscript 7

563 Seven subscript 7

564 Eight superscript S

565 Eight subscript t

Nine superscript 9
566

567 Nine subscript 9

568 Not equal sign

569 Not assigned

E-22
(cont'd) XyWrite Character Set

Character Bitstream
Code U Character Name Character Supported

570 Union symbol/Logical sum symbol U N


571 Is not element of symbol E N
572 Upper left parenthesis ( N
573 Upper right parenthesis \ N
574 Lower left parenthesis N

575 Upper summation symbol V N


576 Parallel symbol 8 N

577 Pcrmillc symbol %c

578 Substitute blank N

579 Slash superscript ! N

580 Angle symbol L N

581 Bottle symbol I N

582 Lower right parenthesis > N

583 Not assigned

584 Approximately equal to SB N

585 Delta superscript A N

586 Del A N

587 Congruent to symbol S N

588 Right arrow superscript - N

589 Is included in symbol c N

590 Left angle bracket superscript > N

591 Lower summation symbol N

592 Includes symbol N

593 Right angle bracket superscript < N

594 Solid triangle rotated ►

595 Circle plus, closed sum © N

596 Lower right, upper left brace r N

597 Upper left, lower right brace i N

598 Prescription symbol ft N


E-23
XyWrite Character Set (cont'd)

Character Bitstream
Code U Character Name Character Supported

599 Perpendicular symbol J. N

600 Zero slash 0 N

601 Increase / N
602 Therefore symbol ••• N
603 Circle x, closed product N

604 Decrease N

605 Total symbol a N


606 And symbol A N
607 Or symbol V N

608 Double overline - N

609 Partial differential symbol d N

610 Sine curve X N

611 Liter symbol t

612 Not assigned

613 Theta small open form fl N

614 Square box with slash N

615 Equal sign superscript - N

616 Minus sign superscript - N

617 Not assigned

618 Right angle bracket > N

619 Left angle bracket < N

620 One subscript 1

621 TVo subscript 2

622 Three subscript 3

623 Four subscript 4

624 Infinity symbol superscript <e N


n N
625 Pi superscript

626 Solid vertical rectangle 1

E-24
(cont'd) XyWrite Character Set

Character Bitstream
Code tf Character Name Character Supported

627 Macron accent - N


628 Fraction slash / N
629 Contour integral

630 Proportional to

631 Square root extension —

632 Minus plus *

633 Approximately

634 Right angle L

635 Large bullet •

636 Integral sign (midsect) 1

637 Epsilon, alternate small e

638 Solid square, large ■


a
639 Superscript a

640 0
Superscript e
*
641 Superscript i
i
642 Superscript 1
m
643 Superscript m
o
644 Superscript o
r
645 Superscript r
a
646 Superscript s
1
647 Superscript t

Backslash (ASCII) \
648
a
649 Superscript circle

650 Superscript dot

651 Exists in symbol 6

652 Superscript minus sign -

653 Superscript plus sign

654 Foot symbol t

E-25
XyWrite Character Set (cont'd)

Character Bitstream
Code # Character Name Character Supported

655 Inch symbol •


656 Slash (ASCII) /
657 G fl

658 n fl

659 OE ligature capital (E

660 OE ligature small OB

661 ij ij

662 Ij U

663 m ffl N
664 Hi ffi N

f5 it ff

Open unhappy face ®


667 d caron small, alternate d‘

668 d macron small d

669 macron capital £>

670 e macron small c

671 E macron capital E

672 g cedilla small g


673 G cedilla capital <?
674 i macron small i

675 I macron capital I

676 i overdot capital i

677 i ogonek small i


678 I ogonek capital 1
679 k cedilla small k
680 K cedilla capital K

681 I macron small I


L macron capital L
6S2

E-26
(cont'd) XyWrite Character Set

Character Bitstream
Code « Character Name Character Supported

683 1 cedilla small 1


684 L cedilla capital V
685 n cedilla small ■J
686 N cedilla capital 14

687 r cedilla small r


688 R cedilla capital R

689 S macron capital §

690 s cedilla small, alternate

691 S cedilla capital, alternate ?


692 t macron small t

693 T macron capital T

694 u macron small 0

695 U macron capital O

696 w circumflex small *

697 W circumflex capital

698 y circumflex small y

699 Y circumflex capital t

700 t caron small f

701 Tcaron capital T

702 a macron small i

703 A macron capital A

704 D caron, alternate D’

705 g caron small g

706 G caron capital 6

707 n macron small n

708 r grave small

709 R grave capital ft

E-27
XyWrite Character Set (cont'd)

Character Bitstream
Code # Character Name Character Supported

710 s macron small $

711 1 tilde capital 1

712 i tilde small f

713 n small high comma ’n

714 u ogonek small 1


------------------- t
715 u tilde lower u

716 U tilde upper u

717 LL mid dot upper LL N


718 II mid dot lower H N

719 j dollcss J
720 L mid dot upper L-

721 I mid dot lower I-

722 acute accent lower *

723 acute accent upper

724 grave accent lower *

725 grave accent upper *

726 circumflex accent lower

727 circumflex accent upper

728 umlaut accent lower

729 tilde accent lower

730 tilde accent upper

731 caron accent lower *

732 Macron accent lower

733 Macron accent upper

734 Breve accent lower

735 Overcircle accent lower

736 Overcirde accent upper

E-28
(cont'd) XyWrite Character Set

Character Bitstream
Code # Character Name Character Supported

737 Overdot accent lower •

738 Double acute accent lower •

739 Over comma accent •

740 Under dash

741 Underdo!

742 Under comma accent •

743 Sub-comma

744 Sub-double comma 1*

745 Mirrored under comma accent •

746 High comma

747 Over comma accent up

748 Apostrophe, up beside

749 Acute accent lower


*
750 Acute accent upper

751 Grave accent lower •

752 Grave accent upper

753 Circumflex accent lower •


754 Circumflex accent upper

755 Umlaut accent lower •


756 Umlaut accent upper

757 Tilde accent lower -


758 Tilde accent upper

759 Caron accent lower -

760 Caron accent upper

761 Cedilla accent •

762 Macron accent lower


*
763 Macron accent upper

764 Breve accent lower -

E-29
XyWrite Character Set (cont'd)

Character Bitstream
Code # Character Name Character Supported

765 Breve accent upper -

766 Ovcrcircle accent lower *

767 Ovcrcirclc accent upper •

768 Dot accent lower •

769 Dot accent upper •

770 Double acute accent lower •

771 Double acute accent upper •

772 Over comma accent lower •

773 Over comma accent upper ■

774 Under macron accent -


775 Under dot

’76 Under comma accent

777 Mirrored comma accent

778 Ogonek accent

779 Apostrophe, lower beside •

780 Apostrophe, upper beside •

781 Solid circle •

782 C Cedilla Q
783 u umlaut a

784 e acute (Cjn?ek) 6

785 a circumflex a

786 a umlaut a

787 a grave A

788 a overcircle a

789 c cedilla 9

790 e circumflex c

791 e umlaut e

792 e grave e

E-30
(cont'd) XyWrite Character Set

Character Bitstream
Code « Character Name Character Supported

793 i umlaut i
794 i circumflex i

795 igrave 1

796 A umlaut A

797 A ovcrcircle A
798 E acute (Gjpek) fi

799 ac diphthong ae

800 AE diphthong 42

801 o circumflex 6

802 o umlaut o
803 o grave 6

804 u circumflex fl

805 u grave fl

806 y umlaut J

807 O umlaut O

808 U umlaut 0
809 o slash 0
810 Pound sterling sign £

811 O slash 0
812 Multiply sign X

813 Florin sign f


814 a acute small (Gjeck) i
815 i acute i

816 o acute 6

817 u acute fl

818 n tilde n

819 N tilde N

820 Ordinal indicator/feminine « N

E-31
XyWrite Character Set (cont'd)

Character Bitstream
Code « Character Name Character Supported

821 Ordinal indicator/masculine 0 N

822 Question mark, inverted 6

823 Registered trademark sy mbol ®

824 Logical NOT/end of line symbol ->

825 One half

826 One quarter ft

827 Exclamation point, inverted i

828 Left angle quotes

829 Right angle quotes »

830 Fill character, light :::

831 Fill character, medium $

32 Fill character, heavy Hf


3 Center box bar vertical 1
.34 Right middle box side H

835 A acute A

836 A circumflex A

837 A grave A

838 Copyright symbol ©

839 Right box side double •a

840 Center box bar double 0

841 Upper right box comer double Tl

842 Lower right box corner double =3

843 Cent sign c

844 Yen sign ¥

845 Upper right box comer 1

846 Lower left box comer L

Middle box bottom _1_


847

848 Middle box top T

E-32
(cont'd) XyWrite Character Set

Character Bitstream
Code H Character Name Character Supported

849 Left middle box side F


850 Center box bar horizontal —
851 Box intersection +
852 a tilde a

853 A tilde A

854 Lower left box corner double Ik

855 Upper left box corner double li=


856 Middle box bottom double =!k

857 Middle box top double nr


858 Left box side double 11=

859 Center box bar horizontal double -

860 Box intersection double 4=

861 International currency symbol n

862 Eth Icelandic small 8

863 Eth Icelandic capital D

864 E circumflex £

865 E umlaut £

866 E grave £

867 i dotlcss •

868 1 acute f

869 1 circumflex i
f
870 1 umlaut

871 Lower right box corner J

872 Upper left box corner r


873 Solid fill character ■
874 Solid Ell character, bottom half

E-33
XyWrite Character Set (cont'd)

Character Bitstream
Code # Character Name Character Supported

875 Right vertical, bar graphic 1


1
876 1 grave 1

877 Solid fill character, lop half

878 O acute 6
879 Sharp s (small) B

880 O circumflex O

881 O grave 0
882 o tilde 6

883 O tilde O

884 Micro symbol P N

885 Thorn Icelandic small b


86 Thorn Icelandic capital

7 U acute 0
>88 U circumflex u
889 U grave u
890 y acute

891 Y acute V

892 Overline
z
893 Acute accent

894 Syllable hyphen -


895 Plus or minus sign

896 Double underscore

897 Three quarters y<


898 Paragraph symbol

Section symbol (USA)


899 paragraph symbol (Eur) $
900 Divide sign

901 Cedilla accent

E-34
(cont'd) XyWrite Character Set

Character Bitstream
Code # Character Name Character Supported

902 Degree symbol •


903 Diacresis/umlaut accent

904 Middle dot ■

905 One superscript 1

906 Three superscript 3

907 7\vo superscript 2

908 Solid squarc/histogram square bullet ■

909 Em space

E-35
Notes

E-36
Index

Symbols A
(01,92 accelerator characters, 126
I in a dialog box, 118 Accelerator Key (AK) function call, 127
in menu file, 101 Accent (AO table, C-3
in menu file, 101 accented characters, 78, C-3
e (Contains) operator, 219 action bar, 35
e in menu file, 101 Action Bar Color Control (L0) default setting, 26
= (Contains) operator, 219 additional macros, 203
= in menu file, 100 loading programs to, 214
in menu file, 101 additive modes, 166
* in printer file, 183 ADDTBL command, 86
in dialog box, 119 AH (Allow Hyphenation) default setting, 15
0 in menu files, 104 AK (Accelerator Key) function call, 127
(s) programs in a dialog box, 109 alignment, 40
B in menu files, 104 function calls, 65
► in menu file, 102 additional programming macros, 203
! (Or) logical operator, 218 Allow Hyphenation (AH) default setting, 15
In keyword, 94,98 AOP (Autosave Path) default setting, 15
# in printer file, 183 AOT (Autosave Timer) default setting, 15
$ (And) logical operator, 218 APFIL command, 210
% in printer file, 183 Argument Insert (AS) command, 204
% in programs, 218 arguments in function calls, 64
& in menu file, 100,126 arithmetic operators, 218
+ (Concatenation) operator, 219 AS (Argument Insert) command, 204
< in printer file, 183 AT (Attribute) table, 177
> in printer file, 183 attribute, 143
1A (Ignore End of File Marker) default setting, 15 Attribute (AT) table, 177
@CNV (Convert) function, 219 Attribute value, 177
;DG;file label, 91 audible signals in a program, 211
?H command, 135 audit trail in printer file, 147
;HL; file label, 91 Autosave Path (AOP) default setting, 15
@1NT (Integer) function, 219 Autosave Timer (AOT) default setting, 15
/LO switch, 117 AZ (Numbering Style) default setting, 16
/LS switch, 117
?D command, 135 B
;MN; file label, 91
©NOT (Not) logical operator, 218 Bl string, 167
©NUM (Numeric) function, 219 B2 string, 167
;PR; file label, 6,147 Backspace Control (BS) default setting, 16,160
©SIZ (Size) function, 219 Backup of Files (BK) default setting, 16
50; file label, 190 basic units, 174
;U2; file label, 1 BC (Blank Command Line) function call, 202
©UPR (Uppercase) function, 219 BE string, 167
?X (Wild Card) printer setting, 164 BEEP command, 211
©XOR (Exclusive Or) logical operator, 218

Index-1
Index (cont'd)

beep CL (Column Location of Cursor) command, 204


correction, 17 clear macro commands, 206
error, 21 CLRASG (Clear All Macros) command, 206
overetrike, 31 CLRSGT (Clear Ordinary Macros) command, 206
bitmapped font, 143 CLRXSGT (Clear Additional Macros) command,
Bitstream Speedo format, 157 206
BK (Backup of Files) default setting, 16 CN (Cartridge Name), 181
Black and White (BW) default setting, 16 @CNV (Convert) function, 218
Blank Command Line (BC) function call, 202 color
Blind Execute (BX) function call, 110, 202 display, 26, 27,32,44
borders file, 44
window, 39 monitor, 44
text in menu/help screen , 133 settings, 15
BS (Backspace Control) default setting, 16,160 table, 47
BTFONTS directory, 157 colors, standard, 46
BW (Black and White) default setting, 16 column (table) function calls, 65
BX (Blind Execute) function call, 110,202 Column Location of Cursor (CL) command, 204
BX (Window Border Colors) default setting, 16 command boundaries, changing, 22
command key, creating, 62
c Command Line Color Control (Ll) default setting,
27
carriage return, 30 command line function calls, 65
hard, 27 command override, 1
soft, 19 commands
CART command, 87 that return values, 204
Cartridge Name (CN), 181 customizing, 1
cartridges using function calls as, 63
list of, 87 comments
loading, 87 In a help file, 97
cascading menus, 102 a menu file, 97
CB (Correction Beep) default setting, 17 in a printer file, 145
CB control code, 114 in a program file, 199
CF (Change Footnote Separator) default setting, 17 in keyboard file, 58
CF (Column Function) function cal), 80 concatenation, 219
CGA (Color Graphic Adapter), 16,23 construction of a printer file, 145
Change Footnote Separator (CF) default setting, 17 contains operators, 219
Change Verification Prompt (CV) default setting, context-sensitive help screens, 128
18 controls, linking, 122
character mode Conversion Filters Path (WW) default setting, 40
function calls, 65, 77 Convert (@CNV) function, 219
table, 165 copying text function calls, 65
Character Pitch (CP) setting, 175 Correction Beep (CB) default setting, 17
Character Position (CP) command, 204 counter function calls, 65
check boxes in a dialog box, 114 Counter String (CS:) table, 54
checking unchanged fields, 111 COURIER10 typeface, 156
CK (Spelling Checker) default setting, 17 CP (Character Pitch) setting, 175
Index-2
(cont'd) Index

CP (Character Position) command, 204 priority of, 7


CR (Cursor Type) default setting, 17 DEFAULT vs DF, 15
creating a command key, 62 Define Display (DD) default setting, 19
creating Delete Stack (Dl) default setting, 18
a dialog box, 103 deletion function calls, 66
a pull-down menu, 100 DF (Default) command, 8
a sort file, 190 ;DG; file label, 91
an XPL program, 199 DGB (Menu Screen Bottom) command, 133
CS (Counter String) table, 54 DGT (Menu Screen Top) command, 133
curly braces (({))), 92 DGW (Menu Screen Window Position) command,
cursor movement in text function calls, 65 125
Cursor Type (CR) default setting, 17 DH (Discretionary Hyphen) default setting, 19
custom commands, 1 Dl (Directory Settings) default setting, 19
customization file types, 82 dialog box file, 89
loading, 82 loading, 138
customization tables, 49 dialog box
CV (Change Verification Prompt) default setting, frames, 92
18 specifications, 105
creating, 103
D positioning items in, 108
dimming items in a dialog box, 118
Dl (Delete Stack) default setting, 18 dimming menu items, 100,101
data file, 23,34,36, 40 directories in a dialog box, 117
Date Format (DZ) default setting, 20 directory display, 40
date format Directory Settings (DI) default setting, 19
for directories, see FZ, 23 disabling a frame, 97
for redlining, 28 Discretionary Hyphen (DH) default setting, 19
DB (Debug Program) default setting, 18,200 display default settings, list of, 13
DCA typefaces, 157 Display Define (DD) default setting, 45
DD (Define Display) default setting, 19,45 display mode colors, 43
DE (Soft Carriage Return) default setting, 19 Display Type (DD default setting 20
Debug Program (DB) default setting, 18 Display Units (DU) setting, 175
debugging programs, 200 displayable lines in a frame, 92
Decimal Point (DP) default setting, 19 displaying a menu bar, 98
DEFAULT command, 8 Document Info directory, 24
Default Drive for Temporary Files (DR) default double-strike character, 184
setting, 20 DP (Decimal Point) default setting 19
default file, 6 DP control code, 114
default pushbutton in a dialog box, 114 DR (Default Drive forTemporary Files) default
default settings setting 20
current value of, 7 drives
entering from command line, 9 default, 20
entering in printer file, 9 network, 30
entering in SETTINGS.DFL, 8 DT (Display Type) default setting 20
entering in STARTUP.INT, 9 DU (Display Units) setting 175
list of, 10 duplicate default settings, 7
Index-3
Index (cont'd)

DUTCH typeface, 156 Expand Triangles (XT) default setting, 41


DZ (Date Format) default setting, 20 Extract Fields (XF) default setting, 40
Extract Records (XR) default setting, 41
E Extract String (XS) command, 208

EB (Error Beep) default setting, 21


F
editing
keyboard files, 58 FA (Font Association) table, 156
printer file, 140 FB (File Begin) string, 171
EG (EGA Support) default setting, 21 FE (File End) string, 172
EGA adapter, 23, 35 FF (Form Feed Character) default setting, 23,161
EH (Error Help Frame) default setting, 21 Field Separator (FX) default setting, 23
El (End IF) command, 206 File Begin (FB) string, 171
EJ (Eject Last Page) default setting, 21,160 File Date (FZ) default setting, 23
Eject Last Page (EJ) default setting, 21,160 File End (FE) string, 172
embedded MD (Mode) commands, 45 file labels, 82
Enable Scoping (ES) default setting, 22 file-end marker, 15
End IF (El) command, 206 Find Match (MA) default setting, 28
end of file marker, 15 fixed text in a dialog box, 111
entering a printer mode, 183 floating accents, 78
entering XPL commands, 200 flow control commands, 205
entry point FO (Font) table, 178
to help, 94 font, 143
to menu, 94,98 Font Association (FA) table, 156
EP (Error Prompt) default setting, 21 Font (FO) table, 178
ER (Error) command, 204 generic, 182
Error Beep (EB) default setting, 21 standard, 182
Error Help Frame (EH) default setting, 21 font matching, 155
error message help, 134 troubleshooting, 159
Error Message Wait Time (WA) default setting, 39 font path, 31
Error Prompt (EP) default setting, 21 Font Value (FO=) in Font table, 180
ES (Enable Scoping) default setting, 22 footnote separator default setting, 17
ET (End Table), 180 Footnote Unit (FU) default setting, 23
EU (European Punctuation) default setting, 22 foreign character function calls, 66
European Punctuation (EU) default setting, 22 foreign language support, C-l
EX (Exit and Continue) command, 205 Form Feed (FF) default setting, 23,161
EXI (Exit and Stop) command, 205 form, fill-in, 38
examples, XPL, 220 format default settings, list of, 10
executable lines in a frame, 92 Format Redlining Date (LZ) default setting, 28
ending, 122 forms mode, 28
Execute (Q2) function call, 202 FP (Printer Font) table, 158
executing frame construction, 92
a routine, 124 frame types, 92
function calls from the command line, 63 frames
EXIST command, 205 disabling, 97
Exit (EX and EX1) commands, 111, 205 linking, 95

Index-4
(cont'd) Index

FU (Footnote Unit) default setting, 23 help file, 89


FUNC (Function Call) command, 63 frames, 92
Function Call (FUNC) command, 63 adding comments to, 97
function calls, 64 loading, 138
alphabetical list, 68 help for error messages, 134
as commands, 63 help function calls, 66
by category, 65 help screens
executing, 63,64 context-sensitive, 128
in programs, 202 scrollable, 131
FX (Field Separator) default setting, 23 Hercules Graphics adapter, 23
FY (Font Family) in Font table, 179 Hewlett Packard
FZ (File Date) default setting, 23 LaserJet printers and compatibles, 143,163,
168,181
G PCL Fonts, 157
HF command, 111
GA (Graphics Adapter) default setting, 23 HI (Header Items) default setting, 24
gas plasma monitor, 44 Horizontal Position (XP) string, 169
GB (Graphics Begin) string, 167 hot keys, B-4
GD (Graphics Draw) string, 167 HT (Header Title) default setting, 24
GE (Graphics End) string, 167 HV (Hyphenation Values) default setting, 24
Get Macro (GT) command, 206 hyphen, soft, 19
GL (Go to Label) command, 205 Hyphenation Values (HV) default setting, 24
Go to Label (GL) command, 205
GOFILE command, 212
I
GP (Graphics Path) default setting, 24
GR (Graphics Resolution) string, 169 IF Condition command, 206
graphic view, effect of mode numbers on, 45 Ignore End of File Marker (1 A) default setting, 15
Graphics Adapter (GA) default setting, 23 Ignore Top Margin (TF) default setting, 37
Graphics Begin (GB) string, 167 II (Italic Information) printer setting, 162
Graphics Draw (GD) string, 167 IM (Image Mode Printing) default setting, 25
Graphics End (GE) string, 167 image mode printing, 159
Graphics Path (GP) default setting, 24 Image Mode Printing (IM) default setting, 25
Graphics Resolution (GR) string, 169 Information Menu (IU) default setting, 26
graphics settings, 167 Information On/Off (IO) default setting, 25
Graphics Variable (GV) string, 168 Insert Cursor Type (IT) default setting, 25
gTay-scale monitor, 44 Insert Macro (IS) command, 207
grouping items in a dialog box, 118 @INT (Integer) function, 219
GT (Get Macro) command, 206 IO (Information On/Off) default setting, 25
GV (Graphics Variable) string, 168 IS (Insert Macro) command, 207
IT (Insert Cursor Type) default setting, 25
H Italic Information (11) printer setting, 162
IU (Information Menu) default setting, 26
?H command, 135
Header Items (HI) default setting, 24
Header Title (HT) default setting, 24
help entry point, 94

lndex-5
Index (cont'd)

J LB (Label) command, 206


LB control code, 116
JB Oob Begin) default setting, 26,153 LC (Line End Character) default setting, 27
JD (Jump to Dialog Box) command, 95 LD control code, 115
JH (Jump to Help) function call, 96,137 LDPM (Load Program) command, 213
JL (Justify Underline) setting, 175 LE (Line End) string, 171
JM (Jump to Menu) function call, 95,110,136 leading, 144
Job Begin (JB) default setting, 26,153 leaving a printer mode, 183
Job End (JZ) printer setting, 154,162 LF control code, 115
JT (Justification Type) setting, 175 LH (Low-High) default setting, 28
Jump to Dialog Box (JD) command, 95 Line End (LE) string, 171
Jump to Help (JH) function call, 96,137 Line End Character (LC) default setting, 27
Jump to Menu (JM) function call, 95,110,136 linking controls, 122
justification, 40 linking frames, 95
Justification Type (JT) setting, 175 list services, 117
Justify Underline QL) setting, 175 /LO switch, 117
JZ (Job End) default setting, 154,162 LOAD command, 82
Load Program (LDPM) command, 213
K LOAD vs SETP, 85
loading
KC (Key Click) default setting, 26
cartridges, 87
keyboard functions, advanced, A-l
default file, 6
key codes, 57
dialog box files, 138
key definitions, 60
help files, 138
key, reassigning, 61
keyboard file, 62
keyboard diagram, 57
menus, 138
keyboard file, 55,56
printer file, 141
loading, 62
program into memory, 214
modifying, 58
program onto a macro key, 213
Keyboard Speed (KS) default setting, 26
SETTINGS.DFL, 6
keyboard tables, 60
sort file, 191
KEYS statement, 58
local printers, 86
keywords, 93
logical operators, 218
KS (Keyboard Speed) default setting, 26
Low-High (LH) default setting, 28
/LS switch, 117
L LZ (Format Redlining Date) default setting, 28
L0 (Action Bar Color Control) default setting, 26
Ll (Command Line Color Control) default setting, M
27
?M command
L2 (Status Line Color Control) default setting, 27
MA (Find Match) default setting, 28
L3 (Ruler Line Color Control) default setting, 27
macro commands, 206
L4 (Pull-Down Menu Colors) default setting, 27
macros, 203
Label (LB) command, 206 Margin Units (MU) setting, 174
labels, customization file, 82 matching fonts, 155
Laser Printer (ZL) printer setting, 164 Math (MT) function call, 79

Index-6
I
(cont'd) Index

i
math function calls, 66 MR (Metric Ruler) default setting, 29
Maximize Windows (MW) default setting, 29 MS (Microspace Units) setting, 175
MD (Mode) commands, 44, 45 MT (Math) function call, 79
MD (Mode) line in Font table, 178 MT (Military Time) default setting, 29
memory requirements, 83, B-2 MU (Margin Units) setting, 174
memory, loading information into, 81 multiple character key assignments, 63
Menu (MN) function call, 79 MW (Maximize Window) default Getting, 29
’ menu bar, displaying, 98
I menu entry point, 94, 98 N
menu file, 89
adding comments to, 97 NA (Non-Printable Area) printer setting, 162
frames, 92 NC (Normal Carriage Return) default setting, 30
loading, 138 ND (Network Drives) default setting, 30
menu function calls, 66 NE (No Errors from Printer) default setting, 30
menu names, length of, 98 network, 30,31,51
Menu Screen Bottom (DGB) command, 133 Network Drives (ND) default setting, 30
Menu Screen Top (DGT) command, 133 Network Login (NL) default setting, 30
Menu Screen Window Position (DGW) command, New Window (NW) default setting, 30
125 NL (Network Login) default setting, 30
menu screen, controlling display of, 100 No Errors from Printer (NE) default setting, 30
menu, creating a pull-down, 100 non-keyboard character function calls, 66, 78
menus, cascading, 102 Non-Printable Area (NA) printer setting, 162
menus, loading, 138 non-printing character, 184
Message (MG) default setting, 28 non-scalable printer, 143
Metric Ruler (MR) default setting, 29 Normal Carriage Return (NC) default setting, 30
MF (Mode for Forms) default setting, 28 ©NOT logical operator, 218
MG (Message) default setting, 28 notes in printer file, 147
microjustification, 174 ©NUM function, 219
Microspace Units (MS) setting, 175 numbering function calls, 65
Military Time (MT) default setting, 29 Numbering Style (AZ) default setting, 16
;MN; file label, 91 Numeric (©NUM) function, 219
MN (Menu) function call, 79 Numeric Lock, 59
Mode for Forms (MF) default setting, 28 NW (New Window) default setting, 30
mode numbers, 45,166
MODE.COM, 141 o
modifying
O1 (Options) default setting, 31
keyboard files, 58
OB (Overstrike Beep) default setting, 31
printer file, 140
OD (Offset display) default setting, 31
SETTINGS.DFL, 6
OE (Open Editor) default setting, 31
monochrome
Offset Display (OD) default setting, 31
monitor, 44
OL (Outline Fonts) default setting, 31
table, 46
OO (Override On) command, 1
mouse, 32-34,38
Open Editor (OE) default setting, 31
Mouse Double Click (R2) default setting, 32
opening windows, 30
Mouse Repetition Interval (RI) default setting, 33
operators, XPL, 218
moving text function calls, 65
Lndex-7
Index (cont'd)

Options (Ol) default setting, 31 PostScript printers, 168


OR (Orientation) in Font table, 179 PP (Pick Printer) table, 50
ordinary macros, 203 ;PR; file label, 6,147
Orientation Output (ZO) printer setting, 164 PR (Printer Font Data) printer setting, 163
outline font, 143 pre-strike character, 184
Outline Fonts (OL) default setting, 31 print destination, 51
outputting, 50 Printer Control (PC) command, 153
overriding commands, 1 Printer Control (PC) table, 148
Overstrike Beep (OB) default setting, 31 printer control string, invoking, 154
overstrike character, 183 printer default settings, 160
overstrike typing mode, 39 list of, 14
OX (Override Off) command, 1 printer destinations, 85
printer files, 139
P comments in, 145
construction, 145
P. (Truncated Path Name) default setting, 32 editing, 140
Pad Spaces (PD) default setting, 32 heading, 147
Page Begin (PB) command, 153 loading, 84,141
Page Begin (PZ) string, 172 selecting, 50
Page Break Character (PX) default setting, 32 Printer Font (FP) table, 158
Page Break Color (PK) default setting, 32 Printer Font Data (PR) printer setting, 163
Page End (PG) string, 172 Printer Memory (PM) printer setting, 162
page-line numbers, 34 printer port, 51
paragraph separators, 52 selecting, 50,84
partial spaces, 174,175 printer settings, 162
path, 32 Printer Units (PU) setting, 174
PB (Page Begin) command, 153 printers, local, 86
PB control code, 114 printing
PC (Printer Control) command, 153 in image mode, 25,159
PC (Printer Control) table, 148 selected pages, 36
PC codes, invoking, 152 priority of default settings, 7,9
PCL control language, 143 program file, port-specific, 85
PD (Pad Spaces) default setting, 32 program mode, 199
PFUNC (Put Function Call) command, 199,202, programs
215 creating, 199
PG (Page End) string, 172 revising, 201
Pick Printer (PP) table, 50 running, 199
PK (Page Break Color) default setting, 32 testing, 18
PM (Printer Memory) printer setting, 162 programming
point size, 144 examples, 220
Point Sizes (ZS) default setting, 42 function calls, 66,202
port, 51 macros, 203
selecting, 50 operators, 218
positioning programming commands, 204
items in a dialog box, 108 entering, 200
menu/Help screens, 125 flow control, 205
Index-8
(cont'd) Index

that return values, 204 revising XPL programs, 201


PS (PostScript) flag in Font table, 180 RI (Mouse Repetition Interval) default setting, 33
PT (Print Type) table, 165 RL (Ruler Markers) default setting, 33
PU (Printer Units) setting, 174 RN (Round Off Numbers) default setting, 34
Pull-Down Menu Colors (L4) default setting, 27 RS (Record Separator) default setting, 34
pull-down menu, creating, 100 ruler, 33
pushbuttons in a dialog box, 114 Ruler Line Color Control (L3) default setting, 27
Put Function Call (PFUNC) command, 215 ruler markers, 29
PV (Put Variable) command, 207 Ruler Markers (RL) default setting, 33
PX (Page Break Character) default setting, 32 RUN command, 216
PZ (Page Begin) string, 172 running a program file, 199,216
RX (Ratio for X Direction) default setting, 34
RY (Ratio for Y Direction) default setting, 34
Q
Q2 (Execute) function call, 202
QH (Quick Help) function cal), 135
s
QP (Quick Print) function call, 135 SAVE % (Save Macro) command, 207
Save Expression (SX) command, 208
R Save Macro (SAVE %) command, 207
Save String (SV) command, 207
R2 (Mouse Double Click) default setting, 32 Save Subroutine (SU) command, 207
radio buttons in a dialog box, 113 SB (Symbol Set) printer setting, 163
positions, 108 SC (Space Constant) setting, 175
raster lines, 167 scalable printer, 143
Ratio for X Direction (RX) default setting, 34 scoping rules, changing, 22
Ratio for Y Direction (RY) default setting, 34 screen font assignments, 156
RB (Reverse Buttons) default setting, 32 screen fonts, 41
RB control code, 113 adding, 157
RC (Read Character) command, 205 Screen Length (SL) default setting, 35
RD (Redline Data) default setting, 33 Screen Resolution (SI) default setting, 35
Read Character (RC) command, 205 Screen Width (SW) default setting, 37
Read-Only Directories (XD) default setting, 40 IScrolLodcl, 199
reassigning a key, 61 scrollable help screen, 131
Record Separator (RS) default setting, 34 scrollable lists in a dialog box, 115
Redline Data (RD) default setting, 33 SE (Separator) table, 52
redlining, 33 search function calls, 66
function calls, 66 Select Print Destination (SEt'P) command, 50
relational operators, 218 selecting items in a dialog box, 118
REMOVE command, 207 selecting text function calls, 67
reserved Selective Directory (XL) default setting, 40
ID numbers, 107, D-1 sentence separators, 52
keywords, D-1 Separator (SE) table, 52
macros, 203, D-2 separator, footnote, 17
PC codes, 152 separators, 52
XyWrite elements, D-1 Sequential Page Numbering (SQ) default setting,
Reverse Buttons (RB) default setting, 32 36
Index-9
Index (cont'd)

serial printers, 141 SU (Save Subroutine) command, 187, 207


SETP (Select Print Destination) command, 50 subscript characters, baseline of, 28
vs LOAD, 85 Substitution (SU) tables, 187
SETTINGS.DFL file, 6 Substitution Character (XS) printer setting, 163
loading, 6 superscript characters, baseline of, 28
modifying, 6 SV (Save String) command, 207
SF (Space Factor) setting, 175 SW (Screen Width) default setting, 37
SG (Text Macro) default setting, 34 SW (Standard Width) in Width table, 185
shifting keys, 58 SWISS typeface, 156
shifting states, 58 switching windows to an open file, 212
Show Menus (SM) default setting, 35 SX (Save Expression) command, 208
Show Tabs (ST) default setting, 36 Symbol Set (SB) printer setting, 163
SI (Screen Resolution) default setting, 35 system default settings, list of, 11
@S1Z (Size) function, 219 system function calls, 67
SK (Sort Key) default setting, 35 SZ (Size) line in Font table, 178
SL (Screen Length) default setting, 35
SM (Show Menus) default setting, 35 T
SN (Soft Font Name), 182
;SO; file label, 190 tab, 37
SO (Sort Setting) default setting, 36 Tab Character Control (TB) default setting, 37
Soft Carriage Return (DE) default setting, 19 table (column) function calls, 65
Soft Font Name (SN), 182 Table Move (TM) function call, 77
soft hyphen, 19 tables, keyboard, 60
sort file, 189 TB (Tab Character Control) default setting, 37
creating, 190 TB control code, 112
loading, 191 terminate and stay resident programs, B-1
Sort Key (SK) default setting, 35 terminator strings, 171
Sort (SO) default setting, 36 testing
sorting a sequence of letters, 191 conditions in a dialog box, 101,118
Space Constant (SC) setting, 175 dialog boxes, 135
Space Factor (SF) setting, 175 help frames, 135
specifications for dialog box, 105 programs, 18,200
Spelling Checker (CK) default setting, 17 width tables, 186
spelling dictionaries, loading multiple, 83 text box locations, specifying, 112
spelling function calls, 67 text entry fields in a dialog box, 112
SQ (Sequential Page Numbering) default setting, text in menu/help screen borders, 133
36 Text Macro (SG) default setting, 34
ST (Show Tabs) default setting, 36 text macro function calls, 67, 77
Standard Width (SW) in Width table, 185 TF (Ignore Top Margin) default setting, 37
status line, 41 time format, 29
Status Line Color Control (L2) default setting, 27 time indicator on status line, 41
storing macro keys to disk, 217 TM (Table Move) function call, 77
string operators, 219 toggle key function calls, 67
in programs, 218 toggle keys, defining, 59
in printer file, 183 Toggle Scroll Lock (TS) function call, 202
STSGT command, 216,217 Transpose Messages (XM) default setting, 41

Index-10
(cont'd) Index

transpose text function calls, 79 Value of Variable (VA) command, 205,224


troubleshooting font matching, 159 value, obtaining, 224
Truncated Path Name (P.) default setting, 32 Variable Forms (VF) default setting, 38
TSR programs, B-l variables, 223
TS (Toggle Scroll Lock) function call, 202 Vertical Position (YP) string, 169
TX control code, 111 Vertical Spacing (VS) table, 173
Type 0 frame, 98 Vertical Unit (VU) setting, 173
Type 5 frame, 124 VF (Variable Forms) default setting, 38
Type 9 frame, 134 VGA, 23
Type C frame, 131 view function calls, 66
Type C frames, 128 view, default, 20
Type K frame, 103 VL (Vertical Leading) in Font table, 179
Type L frame, 100 VS (Vertical Spacing) table, 173
Type M frame, 97 VU (Vertical Unit) setting, 173
type style (MD commands), 37
typeface family, 144 w
WA (Error Message Wait Time) default setting, 3‘
u WB (Window Border Characters) default setting,
;U2; file label, 1 39
UH (Unit Horizontal) default setting, 37 WD (Width) table), 185
UL (Underline Setting) default setting, 38 WF (Wrap to Fit) default setting, 39
UM (Unhide Modes) default setting, 38 WH (WordPpcrfcct Home) function call, 80
UN (Untitled File) default setting, 38 whole-space justification, 174,176
Underline Setting (UL) default setting, 38 Whole-Space Justification (WS) default setting, 40
Unhide Modes (UM) default setting, 38 wide screen monitors, 37
Unit Horizontal (UH) default setting, 37 Width (WD) table, 185
unit of measure, 37,38 width information
Unit Vertical (UV) default setting, 38 determining, 185
Untitled File (UN) default setting, 38 testing, 186
UO (Use Outline) printer setting, 163 Wild Card (?X) printer setting, 164
@UPR (Uppercase) function, 219 wild card
Uppercase (UC) String, C-2 function calls, 78
UR (Use Pointer) default setting, 38 in character mode table, 165
US (Use Substitution Table) in Font table, 179 in graphics settings, 170
Use Outline (UO) printer setting, 163 in programming, 208
Use Pointer (UR) default setting, 38 with CB string, 170
user programming, 197 with PC codes, 152
UV (Unit Vertical) default setting, 38 window, 30,38
UW (Use Width Table) in Font table, 179 borders, 29
function calls, 67
V Window Border Characters (WB) default setting,
39
VA (Value of Variable) command, 205,224 Window Border Colors (BX) default setting, 16
VA settings, list of, 225 WO (Word Overstrike Editing) default setting, 39
validating text entry in a dialog box, 119 Word Overstrike Editing (WO) default setting, 39
Index-11
Index (cont'd)

word separators, 52
Wrap to Fit (WF) default setting, 39
WS (Whole Space) default setting, 40,176
WW (Conversion Filters Path) default setting, 40

X
?X (Wild Card) printer setting, 164
XD (Read-Only Directories) default setting, 40
XF (Extract Fields) default setting, 40
XL (Selective Directory) default setting, 40
XM (Transpose Messages) default setting, 41
©XOR (Exclusive OR) logical operator, 218
XP (Horizontal Position) string, 169
XPL (XyWrite Programming Language), 197
commands, 204
examples, 220
operators, 218
XR (Extract Records) default setting, 41
XS (Extract String) command, 208
XS (Substitution Character) printer setting, 163
XT (Expand Triangles) default setting, 41
XY (XyWrite Screen Fonts) default setting, 41
XY4.KBD, 58
XyWrite Programming Language (XPL), 197
XyWrite Screen Fonts (XY) default setting, 41

Y
YP (Vertical Position) string, 169

z
ZL (Laser Printer) printer setting, 164
ZM (Zoom) default setting, 42
ZO (Orientation Output) printer setting, 164
ZS (Point Sizes) default setting, 42

Index-12
Notes

Index-13
Notes

Index-14
Xyquest
A Division of The Technology Group. Inc.
36 South Charles Street
Baltimore. Maryland 21201
(410) 576-2040 Fax (410) 576-1968

You might also like