
Ron Goertz
161 Granite St
Biddeford ME 04005
rgoertz@midmaine.com
These macros are made available for your personal use and no-cost distribution. Permission for any other use must be obtained from the author. The most current version can always be found by following the "Apps" link on my homepage (http://home.midmaine.com/~rgoertz/Ron/). If you would like to be notified of updates, send me an email telling me what you like/don't like about FWCalendar or FWCAddEvent.
A macro for creating calendars in PageStream v3+ and Final Writer v4+, and
a macro for adding events to those calendars. Note that some of these
features are only available when the Class Act/Reaction interface is used.
Simply use the installation icon. This will install all the appropriate components in directories of your choosing. If you are updating a previous installation, any existing data files will not be overwritten. Due to ARexx variable parsing limitations, the path to the FWCalendar files must not contain any spaces!
If you prefer doing a manual installation, copy FWCalendar.rexx, FWCAddEvent.rexx, and the appropriate FWCalendar.prefs and FWCTranslations.txt files (found in the folder corresponding to your country; the optional translation file may or may not exist, depending on your country) to the same directory. If desired, the FWCHistory directory and the FWCRandom.txt file can be copied to the same directory used for FWCalendar.rexx. Due to ARexx variable parsing limitations, the path to the the FWCalendar files must not contain any spaces! Although any directory can be used, the ARexx macros, the translation file, the FWCHistory directory, and the FWCRandom.txt file must be in the same directory. The preference file(s) can be stored anywhere; the file requestor used for loading preference files defaults to the directory for the current preference file or the directory where FWCalendar.rexx is found. If you want to have images inserted on specified dates, copy the "Images" directory to the same directory as the macros (this location can be changed; see the images section).
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||
If you want to add the macros to Final Writer's "User" menu, follow the instructions in the Final Writer manual.
If you want to add the macros to Pagestream's "Scripts" palette (note that <path> refers to the actual path of the directory you used for the installation):
Select "New..." from the Scripts Palette menu
Enter "FWCAddEvent" as the Name
Enter "RX <path>/FWCAddEvent.rexx" in the Script box
Select a shortcut combination if desired
Click on "OK"
Select "Save" from the Scripts Palette menu
PageStream
You must close all open documents before starting this script. Select the
FWCalendar macro entry from Pagestream's "Scripts" palette (if you followed the
installation procedures included with this guide), otherwise select the
"Scripts/Play External Script ..." menu item and find the FWCalendar macro.
Final Writer
Select the Calendar macro entry from Final Writer's "User" menu (if you
installed it there) or select the "User/Other/ARexx Script ..." menu item and
find the FWCalendar macro.
Both PageStream & Final Writer
It is normal for there to be a delay as
the requester is created.
The main requester allows you to change the various options. Initially, the settings in this requestor reflect the defaults hard-coded in the FWCalendar macro. To load a preference file (for example, one localized to your country, such as was installed as part of the installation routine), select the "Project->Load" menu item and select the desired preference file. Note that both FWCalendar and FWCAddEvent use the same preference file for initializing variables; the results may be unpredictable when changing this file between using FWCalendar and FWCAddEvent. See notes on the Variable Editor for more details.
After the required information is entered, the screen's magnification is reduced to speed up rendering and it's off and running. Highlights contained in the preference file will be rendered automatically ("highlight" is the term used to describe holidays, anniversaries, birthdays, and other notable dates added to the calendar as it is being generated). When the macro is finished, the screen magnification will be restored to normal. Note that updating is turned off during rendering, so the calendar may look strange while being rendered.
To add events that do not repeat themselves at the same time every year, use FWCAddEvent, a separate program included in this distribution. These events are added after the calendar is generated.
In order for FWCAddEvent to work, specific information is written in the upper left corner of the generated calendar; as this is written in white, it will be "invisible." If you are using PageStream as the host application, don't render any objects at the location 0,0 or FWCAddEvent will fail.
FWCAddEvent is used to add events to a calendar that has already been generated. These events do not repeat themselves every year (at least not at the same time). This differs from the Highlight Editor called from FWCalendar itself. Events entered in the Highlight Editor represent holidays, anniversaries, birthdays, and other notable dates and are added to the calendar as it is being generated.
The requestor is generated "on the fly," so a delay between placing a call to FWCAddEvent and the requestor showing up is normal.
Note that both FWCalendar and FWCAddEvent use the same preference file for initializing variables; caution should be exercised when changing the file between using FWCalendar and FWCAddEvent or the results may be unpredictable.
Help bubbles can be accessed by placing the mouse pointer over a gadget and pressing the 'Help' key on the keyboard. The bubble will go away after a short time (as defined by the HelpTime variable) or upon pressing the 'Help' key a second time (in the help-bubble window).
The FWCAddEvent consists of the following fields, settings, and gadgets:
Event Type: The top-left gadget cycles through "Event," "Image," and "File" choices. When the "Event" choice is selected, you can enter the desired event in the Event text box. When the "Image" choice is selected, the file requester gadget to the right will allow you to select the desired image. When the "File" choice is selected, the file requester gadget to the right will allow you to select the desired pre-defined event data file (see Prefs & Data for the format of this file). In the case where a file is chosen, most of the remaining gadgets will be ghosted as the values are either read from the data file or set to the defaults.
Event: Enter the event or the name of the event file here. Any quotes (single or double) entered as part of the event will be included in the event when it is added to the calendar. If the "event" is the <path>name of an image file, then that image will be inserted. See the section on Prefs & Data for information on formatting event data files. Note: Periodic events are only possible by way of an event data file.
File Requester: Allows the selection of image or data files. The default directory for data files can be changed by setting the FWCAddEventData variable by way of the variable requestor at the startup of FWCalendar.
Font: Shows the currently-selected font. The font button ("Ff") must be used to change the font.
Font Size: The small box to the right of the font name shows the font size currently in use (always a whole number when the host application is Final Writer); this can be changed as desired. Note that, although any font size can be entered, the positioning of the added line will be determined according to the AddEventRows variable and internal calculations. Looking at the image above, for example, the default font size is 9 pts. If an event with a font size of 18 pts is entered on line 3, that event will cover both lines 3 and 4; attempts to add other events on line 4 would result in the text of the events overlapping. Except for special effects, it is best to keep the font size as calculated by FWCAddEvent. This field accepts simple math calculations.
Ff: The font requester must be used to change the font. When the host application is Final Writer, a standard file requestor will appear from which you can locate and select the desired font; when the host appliction is PageStream, a list of all installed fonts will appear.
Reset: The "Reset" button will reset the font to Font.Highlight (as determined by either the internal defaults or the loaded preference file) and the font size to the value calculated by FWCalendar.
Date Selectors: The majority of the requestor consists of buttons representing the days of the month (including days of the previous and next months as appropriate). Unless a vertical-format calendar was created (MonthlyDayOrder = 'V'), the dates clicked will alternate between being entered as the Start and End dates, shown to the right of the calendar buttons. The first date clicked will be entered as the Start date, the next as the End date, the next as the Start date, the next as the End date, and so on. If a vertical-format calendar was created, only single-day events can be entered.
Start: Displays the selected start date for an event. The Start date does not need to be designated when the "File" option is selected; in this case, the Start dates in the data file will be taken as actual days and not offset days (see data files for more information on the format of files used with the "File" option). If the Start date is after the End date, the dates will be switched in the macro.
End: Displays the selected end date for an event. The End date does not need to be designated for single-day events, and can't be designated if the "File" choice is selected. If the Start date is after the End date, the dates will be switched in the macro. If a vertical-format calendar was created (MonthlyDayOrder = 'V'), only single-day events can be entered.
Text: Used to select a color for the event text. When this button is pressed, a list of available colors will be presented (if the host application is Final Writer, the actual color will be shown as well). The default for the text color is determined by Color.AddEvent.
Line: Determines on which line of the date cell the event will be inserted, ranging from 0 to the maximum number of lines that will fit in a calendar cell (defaults to line 1). Note that these are the lines that will fit on a full-sized day; half-size days (those days at the end of the month that are split) will not be able to hold the full complement of lines. Certain lines may also be filled by Highlights added during generation of the calendar; events added to these lines would overwrite the highlight text.
Boxed: This checkbox tells whether events should be outlined in a box or not. All multi-day events WILL BE boxed. Boxed entries will have text lines centered; unboxed multi-line events will have the second and subsequent lines indented. An empty (text-less) box can be generated if desired.
Box: Used to select a color for the outline/background box. When this button is pressed, a list of available colors will be presented (if the host application is Final Writer, the actual color will be shown as well). The default for the box color is determined by Background.AddEvent, or <Clear> if that variable has not been set. <Clear> will result in any background picture showing through the box.
Frequency: Events can be added Once, Weekly, or Biweekly. Weekly and Biweekly events will be repeated from the starting point to the end of the month. All events can be single-day (Staff Mtg every Wednesday) or multi-day (Thursday/Friday seminar every week this month), and can wrap around the weekend.
OK: Once the desired information has been entered, click the OK gadget. The text will be drawn on the screen one or more times as it is sized to fit in the span of days you selected. After it is sized properly, it will be placed in the proper location.
Cancel: The requestor will keep reappearing automatically until the requestor is cancelled or closed.
Undo: Will undo all levels of added events, from the time the requester was initialized until the time it is canceled. The Undo button works in the same manner as the undo button on PageStream or Final Writer, although no "Redo" capability is provided..
FWCAddEvent is designed to work on calendars generated by FWCalendar. To determine the calendar layout, FWCAddEvent macro reads specific information used to create the calendar from the calendar itself and from the preference file used to generate the calendar; caution should be exercised when changing the file between using FWCalendar and FWCAddEvent or the results may be unpredictable.
Texts added via FWCAddEvent are simply text objects. If one of these text objects is no longer desired (perhaps it ended up in the wrong place), it must be deleted using the "Undo" capability or, if the FWCAddEvent interface has been closed, via the host application (Final Writer or PageStream) itself. There is no provision for FWCAddEvent to delete previously added event text.
This section describes the five data files that support creation of
calendars: preference files, translation files, FWCAddEvent data
files, history files, and random files. The preference file is used both to
generate a calendar and to later add events to that calendar. The translation
file is used to translate the information in the requesters to your language.
The FWCAddEvent data file is used to enter pre-defined event data with
FWCAddEvent. The history file allows you to add a 'day in history' event to the
generated calendar. Finally, the random file allows you to add a random entry to
the generated calendar. None of these files are necessary for FWCalendar or
FWCAddEvent to work properly; if the files are absent, internal defaults will be
used as appropriate.
Preference Files To create a new preference file, select the "Project->Reset" menu item; this
will set all variables to their default values. When you change variables from
the default values and generate a calendar, you will be prompted for the
filename of the new preference file. The loaded preference file, along with any
changes just made, can be saved under a new name using the "Project->Save as"
menu item.
Both FWCalendar and FWCAddEvent use the same preferences file for
initializing variables, so you should not change the preferences between using
FWCalendar and FWCAddEvent. See notes on the Variable Editor for more details.
Highlights are also contained in the preference
file, and are added using the Highlight Editor (see the Variables tab of the Variable Editor). Highlight is the term used to
describe holidays, anniversaries, birthdays, and other notable dates added to
the calendar as it is being generated. Events that do not repeat themselves
at the same time every year are added after the calendar is
generated using FWCAddEvent). There is no design
limitation on the number of highlights that can be assigned, since multiple
highlights can be assigned for each day of the year.
Images (also added using the Highlight Editor (see
the Variables tab of the Variable Editor)) can
be inserted in the center of certain dates such as birthdays, anniversaries, and
other days. The images can be inserted whether or not a highlight is inserted on
that date. Only one image can be inserted for a given day.
Translation Files FWCAddEvent Data The pre-defined event data file can have any name and be located anywhere.
When the file requester appears, the default directory will be the same as the
location of the other FWCalendar files or be as defined by the
FWCAddEventData variable. The data file consists
of sets of lines containing the following keywords:
Preference files contain highlight and image information and variable values
that differ from FWCalendar's defaults. There are over 100 user-definable variables that contain, among others, format, color,
and font information; the variables are set using the Variable Editor. Different preference files can
be maintained for generating different calendar styles.
Translation files exist for several of the supported languages (thanks in large
part to those non-American users who want to make FWCalendar look good for their
country). To create a translation file, simply take the FWCTranslations file
(found in the American folder in this distribution) and translate the American
phrases to phrases in your language. If you develop new translation file, please
submit it to me so I can include it with future distributions.
Certain events may need to be added to the calendar each month, always in the
same order and always the same number of days apart (such as a rotating work
schedule or a periodically repeating event such as being "on call."). Or you
may want to add the same events to numerous calendars with
different formats. In these cases, it may be convenient to pre-define these
events and enter them automatically. To do so, select the "File" option from the
upper-left gadget of the FWCAddEvent requester, then select the pre-defined
event data file.
| Start | The actual start day of the event. If a start day was entered in the FWCAddEvent requester, this value represents the offset from that "root date" (this value is used to calculate the event's actual start date. For example, if 12 was selected as the start day and Start is set to 4, then the actual start date of the event would be the 16th). This keyword is required. | |
| End | The actual end day of the event. If a start day was entered in the FWCAddEvent requester, this value represents the offset from that "root date" (this value is used to calculate the event's actual end date. For example, if 12 was selected as the start day and End is set to 6, then the actual end date of the event would be the 18th). If omitted, End will be set equal to Start.. If a vertical-format calendar was created (MonthlyDayOrder = 'V'), only single-day events can be entered. | |
| PeriodicBase | The "root" or "base" date of a periodic event in YYYYMMDD format. This is an actual date on which the periodic event has taken place (or will take place). If it's a multi-day event, this is the first day of the event. Do not use Start or End in conjunction with this variable. | |
| Interval | The interval, in days, between periodic events (or the interval between event starts if it's a multi-day event). This keyword is required for periodic events. | |
| Duration | The duration, in days, of the periodic event. If omitted, the duration will be one day. | |
| Font | If the host application is Final Writer, the full path and name of the desired font; if the host application is PageStream, the name of an installed font. If omitted, the font defined by Font.Highlight will be used. | |
| Size | The desired font size (will be truncated to a whole number if the host application is Final Writer). If omitted, the calculated font size (based on AddEventRows) will be used. | |
| Line | The line number to used for the event (0 - 16) (see note 1). If omitted, the event will be printed on line one. | |
| Options | B for boxed, W for Weekly, 2 for Biweekly (only one of W or 2 can be used, but either can be used in conjunction with B.). If omitted, the event will not be boxed (unless it is a multi-day event) and it will not be repeated for succeeding weeks. | |
| TextColor | The color (eg, blue or red) to be used for the event text. If omitted, the event will be printed in black or in the color defined by Color.AddEvent. | |
| BoxColor | The color (eg, blue or red) to be used for the box's background. If omitted, the box (if drawn) will be clear or the color defined by Background.AddEvent. | |
| Event | The event (if single or double quotes are used, they will be included on the calendar). This keyword is required. | |
| EventType | If the "event" is an image, then this keyword must be set to Image. |
These keywords and their values can appear in any order, but there must be a blank space on either side of the "= " sign. Events groups are separated by a blank line, and comment lines (beginning with '/*') will be ignored. Only Start and Event are required; this will cause the event to be printed on line one of start day (unless a day was selected as the "root date" in the FWCAddEvent requester).
In addition to the keyword lines defined above, user-defined variables can be defined. These variables must not contain any spaces, and must begin with the pound sign (#). A possible use of this capability would be to assign the color used for a particular type of event to an easy-to-remember variable. If you use different colors for work-related and home-related events, for example, you could add the following lines to the beginning of your data file:
#Work = 'Green'
#Home = 'Blue'
With these variables defined, you could then enter the following line:
TextColor = #Work
for a work-related event and not have to remember what color you are using.
Unboxed, single-day events will have subsequent lines indented. The text will be split between lines automatically, so there is no need to indicate specific line breaks; if desired, line breaks can be indicated by inserting ' //' where the line break is desired. Boxed events have all lines centered.
IMPORTANT: note that if a Start day is given in the FWCAddEvent requester, both Start and End are offsets from the "root date" selected in the FWCAddEvent requester. If the "root date" is the first day of October, for example, the keyword pair Start = 5, End = 8 will cause the event to span October 6 through October 9.
Examples (assume no Start day given in the FWCAddEvent requester):
| Start = 1 Event = Testing | Testing (without quotes) will be inserted on line one of the first day of the month |
| Start = 5 End = 6 Line = 2 Event = "Testing" | "Testing" (including quotes) will be inserted (and boxed because it spans more than one day) on line 2 of the 5th and 6th of the month |
|
Start = 4 Line = 1 Font = Zapf-Chancery Size = 12 TextColor = Green BoxColor = Blue Options = bw Event = 'FWCalendar is Great!' | 'FWCalendar is Great!' (including single quotes) will be inserted with green, 12-pt, Zapf-Chancery text, backed by a blue box, on line 1 of the 4th of the month. This will be repeated weekly through the end of the calendar |
|
Start = 15 Line = 4 Options = 'B' Event = Teacher Conferences//No School | Teacher Conferences will be centered on line 4 and No School will be centered on line 5 of the 15th of the month. The pair of lines will be backed by a box of the color defined in the appropriate data file (or white if the default data was used). |
|
PeriodicBase = 20020104 Interval = 21 Duration = 3 Line = 3 Event = On call | On call will be printed in a box (because it is a multi-day event) on line 3, stretching from January 4th to January 6th, and will also be printed every three weeks as a three-day event. |
History Data
The history data is a directory (named FWCHistory and located in the same
directory as FWCalendar.rexx) containing 12 text files (named 01, 02, 03, ..., 12),
one for each month of the year. Each text file contains lines of data to be
associated with specific days of the month. The data can be whatever you'd like
it to be, including historical birthdays or historical events (the history data
included with this distribution includes historical birthdays garnered from the
internet).
If there is only one event noted for a particular date, that event will be entered on the calendar as it is generated. If there are multiple events noted for a date, however, one will be chosen at random and entered on the calendar as it is generated.
Each line in the data files has the format
|4 1643 - Sir Isaac Newton
Every line begins with "|" to allow quick location of new lines and to provide a method for counting events.
The next part of the data line consists of the day of the month with which the event is associated. In the example above, the 4 indicates that the event should be associated with the 4th of the month. Everything following the day will be entered as the event, exactly as shown on the line.
Groups of days are separated by single lines containing only the "|" character:
|4 1643 - Sir Isaac Newton Random Data This feature is similar to adding a random tagline to the end of emails as they
are sent. The data file simply consists of text lines, each preceded by the
"|" character. Everything after the
"|" will be entered on the calendar as it is
generated. The file included with this distribution contains thoughts for the day
that are intended not to offend anyone.
Note 1: The number of lines that will actually fit in a given date is
determined by the font and the HighlightRows variable. The number of lines that will fit on half-size days (days at the end of the month that are split) will be less than the full complement of lines. Certain lines may also be filled by Highlights added during generation of the calendar; events added to these lines would overwrite the highlights.
|4 1809 - Louis Braille
|
|5 1779 - Stephen Decatur
|5 1938 - Juan Carlos I
|
The random file is named FWCRandom.txt and must be located in the same directory
as FWCalendar.rexx.
There are over 100 variables that the user can set to customize either the calendars generated or the behavior of FWCalendar while the calendar is being created.
User variables are contained in localized preferences files generated with the Variable Editor. This allows you to keep your variables separate so you don't have to change them every time the macros are updated.
Both FWCalendar and FWCAddEvent use the same preferences file for initializing variables, so the preferences file should not be changed between using FWCalendar and FWCAddEvent. See notes on the Variable Editor for more details.
There should be no need to change variables in the macro itself, or to edit the preferences file by hand.
All font sizes are computed according to the size of the TextArea and the MiniCal heights relative to the area available to the calendar. The font used for dates, highlights, and FWCAddEvent text can have the width adjusted.
Localization strings
Localized preferences files are included with the distribution. Each file
includes all of the currently used translation strings (ending in
'$'). If you would like to include your language, please contact the author. If you would like to
improve the translation strings for your language, please email the author the updated preferences
file.
Variables
Special variable pairs are available to allow variations in sentence structure
for different languages and to customize parts of the calendars. The variable
pairs and their defaults are:
Each of the %s place holders in the first of each variable pair is replaced by one of the internal variables identified in the second of each variable pair. Although any internal variable can be used, the most useful variables are:
With a little knowledge of ARexx, variations of these variables can be created:
Note: the replacement variables must not contain any spaces.
The defaults result in requesters saying 'Generating August 2000 calendar' and 'Generating 2000 calendar', and a calendar header of 'August 2000' (depending on the selected month/year, of course), respectively.
| Miscellaneous Variables | |||||||||||||||||||
| AddEventRows |
The maximum number of rows of FWCAddEvent text allowed on each day; affects the point size of the FWCAddEvent font (see note 3) Values: any decimal number (larger = smaller text) Default: 9 |
||||||||||||||||||
| AdjustDST |
Take daylight savings time changes into account when using SunCalc (see note 3) Values: 0 = don't adjust, 1 = adjust (requires RexxTricks.library) Default: 1 |
||||||||||||||||||
| AdventHighlights |
Insert Advent Sundays. Text used is changed by adding Advent$.1 through Advent$.4
to the FWCTranslations.txt file. Values: 0 = don't include, 1 = include Default: 1 |
||||||||||||||||||
| BelzierFactor |
Adjust the "curvature" of moon phases (Final Writer only) (see note 3) Values: any decimal number (smaller = more angular; larger = more square) Default: 0.55 |
||||||||||||||||||
| CalendarBorder |
Percentage of calendar width to offset the calendar outline box (see notes 2 & 3) Values: Decimal number (0 = no outline box) Default: 0 |
||||||||||||||||||
| CalendarShadow |
Percentage of calendar width to offset the calendar shadow box (see notes 2 & 3) Values: Decimal number (0 = no shadowbox) Default: 0 |
||||||||||||||||||
| CenterHistory |
Flag indicating whether or not the history entry should be centered Values: 0 = don't center, 1 = center Default: 1 |
||||||||||||||||||
| CenterMiniDates |
Flag indicating whether or not the dates in the mini-calendars should be centered or left-adjusted Values: 0 = don't center, 1 = center Default: 1 |
||||||||||||||||||
| CenterRandom |
Flag indicating whether or not the random entry should be centered Values: 0 = don't center, 1 = center Default: 1 |
||||||||||||||||||
| CornerRadius |
Cause day-boxes to have rounded corners rather than be rectangular boxes.
If Final Writer is the host application, then don't use with DoDateBox (see note 3)
|
||||||||||||||||||
| CountPartialWeek |
Flag indicating whether or not the first whole week should be counted as week one,
or the first (possibly partial) week should be counted as week one. Values: 0 = Count whole week only, 1 = Count partial week Default: 0 |
||||||||||||||||||
| DateBoxImage |
The image to use around the date number when BoxDates is set. If set to 'Default' then a rectangle will be drawn Values: See Images for format. Default: Default |
||||||||||||||||||
| DateOffset |
Percent of box width to offset dates from edge of box (see notes 2 & 3) Values: any decimal number Default: 2 |
||||||||||||||||||
| DoHide |
Hide PageStream window while rendering (see Tips & Solutions) Values: 0 = don't hide, 1 = hide Default: 0 |
||||||||||||||||||
| DSTEnd |
Set the ending date for Daylight Saving Time (put the cursor in the text field
and press the "Enter" key; the Highlight Editor will be brought up enabling
the date to be set) Values: Any valid floating date Default: The last Saturday in March |
||||||||||||||||||
| DSTStart |
Set the starting date for Daylight Saving Time (put the cursor in the text field
and press the "Enter" key; the Highlight Editor will be brought up enabling
the date to be set) Values: Any valid floating date Default: The last Saturday in October |
||||||||||||||||||
| EndWeek |
Day of the week to use in the last calendar column. When used in conjunction
with StartWeek, a range of days (e.g., Monday
through Friday) can be printed.
|
||||||||||||||||||
| FinalView |
Sets the magnification percent of the calendar after it is created (see notes 2 & 3)
|
||||||||||||||||||
| ForceBGUI |
Force BGUI to be used as the GUI (if you can't get the ClassAct GUI to work for some
reason, you may have to set ForceBGUI = 1 in your preference
file using a text editor. Values: 0 = don't force, 1 = force use of BGUI Default: 0 |
||||||||||||||||||
| FWCAddEventData |
The default file to use for FWCAddEvent data. This can be a directory, a file, or
a file with a "variable" indicating where to insert the information for the current
month. To have the event requestor always point to a particular
file, enter the path and name of that file (e.g., Rexx:FWCalendar/Event.data).
To use a different data file for each month and have the file requestor automatically
point to the right data file, enter %% where the two-digit
month indicator should be inserted. For example, if your data files are named Event01.data
(for January) through Event12.data (for December), entering
Rexx:FWCalendar/Event%%.data would have the
proper month's data file set as the default. Values: Any legal path or path and file, with or without month placeholders Default: '', resulting in looking for FWCAddEvent.data in the same directory in which the calendar's preference file is located. |
||||||||||||||||||
| GenMVars |
The variables substituted for the %s placeholders
in GeneratingM$ (found in the FWCTranslations.txt file) Values: Any internal FWCalendar variable Default: 'Month.Month EnteredYear' |
||||||||||||||||||
| GenYVars |
The variables substituted for the %s placeholders
in GeneratingY$ (found in the FWCTranslations.txt file) Values: Any internal FWCalendar variable Default: 'EnteredYear' |
||||||||||||||||||
| GfxApp |
The name of the graphics application used to determine the datatype, width, and height of images to be inserted (set to FWCalendar.rexx to use the internal parser) Values: see Images Default: 'FWCalendar' |
||||||||||||||||||
| GfxAppPath |
Path to graphics application Values: : or / terminated path to the graphics application; don't include the application name with the path! Default: None |
||||||||||||||||||
| HeaderLoc |
Percent down the text area (TTextArea or WTextArea, as appropriate) the header (month/year) will be placed (see notes 2 & 3) Values: any decimal number Default: 25 |
||||||||||||||||||
| HeaderSize |
Percent of text area (TTextArea or WTextArea, as appropriate) to be used for the header text (Header$) (see notes 2 & 3) Values: any decimal number Default: 50 |
||||||||||||||||||
| Header$ |
The text used for the header, with %s placeholders
for the varibles found in HeaderVars Values: Any text Default: '%s %s' |
||||||||||||||||||
| HeaderVars |
The variables substituted for the %s placeholders
in Header$ Values: Any internal FWCalendar variable Default: 'Month.Month EnteredYear' |
||||||||||||||||||
| HelpTime |
Set the time (approximately in seconds) that Help balloons remain open (see note 3) Values: Any decimal number Default: 4 |
||||||||||||||||||
| HighlightRows |
The maximum number of rows of Highlight text desired in each day; affects point size of Highlight font (see note 3) Values: any decimal number (larger = smaller text) Default: 9 |
||||||||||||||||||
| HostScreen |
Identifies the public screen to be used for requesters (also see Tips & Solutions) Values: The case-sensitive name of the public sreen to use for requesters. Default: None |
||||||||||||||||||
| Image. |
Images to be used in place of boxes in several places. Default: ''
|
||||||||||||||||||
| ImageClass. |
Image files to be used for common events (see Images) (see note 1) Vaules: The name of an image file Default: None |
||||||||||||||||||
| JulianSepChar |
Character(s) used between current Julian day and Julian days remaining when both values are
printed in the same location. Values: Any printable character(s) Default: '/' |
||||||||||||||||||
| LaunchM |
Variable to be INTERPRETed upon completion of monthly calendar Values: See Launch Program Default: None |
||||||||||||||||||
| LaunchY |
Variable to be INTERPRETed upon completion of yearly calendar Values: See Launch Program Default: None |
||||||||||||||||||
| Leading |
The height of each text line expressed as a percentage of the font height (see notes 2 & 3) Values: any decimal number (larger = lines farther apart) Default: 100 |
||||||||||||||||||
| Limit. |
Limits the day on which the item will be printed Values: 0 to 6 to limit the item to a specific day, 7 to print it on all days.
|
||||||||||||||||||
| MagnifyExtras |
The font size of the extras (sunrise, julian, etc) text; expressed as a percentage of the internally calculated highlight font size (see notes 2 & 3) Values: any decimal number (<100 will shrink extras text, >100 will make extras text larger) Default: 100 |
||||||||||||||||||
| Marker. |
Indicators for Special and Holiday highlights Values: Any single character (other than the asterisk (*)) that won't otherwise end up at the end of a highlight.
|
||||||||||||||||||
| MaxImgHeight |
Maximum percentage of boxheight to be used for images (see notes 2 & 3) Values: Decimal number less than 1 Default: 75 |
||||||||||||||||||
| MaxImgWidth |
Maximum percentage of boxwidth to be used for images (see notes 2 & 3) Values: Decimal number less than 1 Default: 75 |
||||||||||||||||||
| MiniCalDayOrder |
Indicates how the days increase in mni-calendars Values: H to increase days horizontally or V to increase days vertically Default: H |
||||||||||||||||||
| MiniCalHeight |
Percentage of text area height used for minicals (see notes 2 & 3) Values: any decimal number Default: 60 |
||||||||||||||||||
| MiniCalWidth |
Percent of the minical height (MiniCalHeight) to use for the width of the minicals (see notes 2 & 3) Values: any decimal number Default: 200 |
||||||||||||||||||
| MinHistoryWidth |
The smallest font width allowed when compressing history entries, expressed as a percent of the normal width (see notes 2 & 3) Values: any decimal number (lower = more compression allowed) Default: 70 |
||||||||||||||||||
| MinRandomWidth |
The smallest font width allowed when compressing random entries, expressed as a percent of the normal width (see notes 2 & 3) Values: any decimal number (lower = more compression allowed) Default: 70 |
||||||||||||||||||
| MinWidth |
The smallest font width allowed when compressing highlights and events, expressed as a percent of the normal width (see notes 2 & 3) Values: any decimal number (lower = more compression allowed) Default: 80 |
||||||||||||||||||
| MonthlyDayOrder |
Indicates how the days increase in monthly calendars Values: H to increase days horizontally or V to increase days vertically Default: H |
||||||||||||||||||
| MoonRadius |
Percentage of boxheight to use for moon image (see notes 2 & 3) Values: Decimal number less than 100 Default: 10 |
||||||||||||||||||
| PageHeight |
Height of paper in default units (see note 3) Values: any decimal number in your default units
|
||||||||||||||||||
| PageWidth |
Width of paper in default units (see note 3) Values: any decimal number in your default units
|
||||||||||||||||||
| PhaseType |
Determines whether the moon phases are shown on each day, or only when the quarter-phases occur Values: D for daily phases or Q for quarter-phases Default: Q |
||||||||||||||||||
| PrefsName |
Sets the title shown for the current preference file
Values: Any text (underscores cause the following character to be underlined) Default: The path and name of the preference file |
||||||||||||||||||
| ShadowType |
Determines the type of shadow used
|
||||||||||||||||||
| ShiftLMini |
Distance to shift the left minical in your default units (see note 3) Values: any number (- = shift left, + = shift right) Default: 0 |
||||||||||||||||||
| ShiftRMini |
Distance to shift the right minical in your default units (see note 3) Values: any number (- = shift left, + = shift right) Default: 0 |
||||||||||||||||||
| StartWeek |
Day of the week to use in the first calendar column. When used in conjunction
with EndWeek, a range of days (e.g., Monday
through Friday) can be printed.
|
||||||||||||||||||
| StretchDateH |
Percent of calculated date height to use for dates, can give "drop cap" effect (see notes 2 & 3) Values: Any number, best 100 - 400 Default: 100 |
||||||||||||||||||
| StretchDateW |
Percent of calculated date width to use for dates (see notes 2 & 3) Values: Any number, best 100 - 400 Default: 100 |
||||||||||||||||||
| SubHeaderLoc |
Percent down the text area (TTextArea or
WTextArea, as appropriate) the subheader will be
placed. Note that the subheader can be place above the header (see notes 2 & 3) Values: any decimal number Default: 0 |
||||||||||||||||||
| SubHeaderSize |
Percent of text area (TTextArea or WTextArea, as appropriate) to be used for the subheader text (SubHeader$) (see notes 2 & 3) Values: any decimal number Default: 0 |
||||||||||||||||||
| SubHeader$ |
The text used for the subheader, with %s placeholders
for the varibles found in SubHeaderVars Values: Any text Default: '' |
||||||||||||||||||
| SubHeaderVars |
The variables substituted for the %s placeholders
in SubHeader$ Values: Any internal FWCalendar variable Default: '' |
||||||||||||||||||
| SunCalcPath |
Path to SunCalc Values: : or / terminated path to SunCalc; don't include the application name with the path! Default: None |
||||||||||||||||||
| SunRiseSepChar |
Character(s) used between sunrise time and sunset time when both values are
printed in the same location. Values: Any printable character(s) Default: '/' |
||||||||||||||||||
| Text. |
Text strings to be included before the value (see note 1) Default: ''
|
||||||||||||||||||
| TextAdj |
Percent of font height to lower inserted text when Final Writer
is the host application; takes into account that Final Writer
text is located according to the baseline and not the top or
bottom of the text block. TextAdj
represents how far down the font the baseline is located (see
notes 2 & 3) Values: any decimal number Default: 77 |
||||||||||||||||||
| TTextArea |
Percent of print height used for top of tall calendar (see notes 2 & 3) Values: any decimal number Default: 15 |
||||||||||||||||||
| WeekdaySize |
The percent of vertical space between the bottom of the minicals and
the top of the calendar used for the names of the weekdays
(see notes 2 & 3) Values: any decimal number Default: 50 |
||||||||||||||||||
| WTextArea |
Percent of print height used for top of wide calendar (see notes 2 & 3) Values: any decimal number Default: 20 |
||||||||||||||||||
| YearlyCalColumns |
The number of columns of months to be used on full-year calendars. The number
of month rows will be calculated from this number Values: 1, 2, 3, 4, 6, or 12 Default: 3 |
||||||||||||||||||
| YearlyCalMonthOrder |
Indicates how the months increase in yearly calendars Values: H to increase months horizontally or V to increase months vertically Default: H |
||||||||||||||||||
| YearlyCalSpacing |
Percentage of print width placed between full-year minicals (see notes 2 & 3) Values: any decimal number Default: 5 |
||||||||||||||||||
| Colors | |||||||||||||||||||||||||||||||||||||||||||
| Color. |
Text & moon colors (see note 1) Default: Black
|
||||||||||||||||||||||||||||||||||||||||||
| AltColor. |
Text colors for use when there is a non-white background (see note 1) Default: Black
|
||||||||||||||||||||||||||||||||||||||||||
| Line. |
Line and box colors (see note 1) Default: Black
|
||||||||||||||||||||||||||||||||||||||||||
| Background. |
Backgrund colors (see note 1) Default: <Clear> or white
|
||||||||||||||||||||||||||||||||||||||||||
| Fonts | |||||||||||||||||||||||||||||||||||||||||||
| Font. |
Font names (see note 1)
|
||||||||||||||||||||||||||||||||||||||||||
| Bold. |
Bolded font names (see note 1)
|
||||||||||||||||||||||||||||||||||||||||||
Note 1: These variables will appear as a combination of the "stem" and a particular variable, such as Color.Date
Note 2: All percents are such that 1 = 1% and 100 = 100%
Note 3: Field supports simple math functions (with the ClassAct interface only)
The Variable Editor is the opening requester for FWCalendar. Changes made in the Variable Editor are saved to the preference file.
Both FWCalendar and FWCAddEvent use the same user-chosen preference file for initializing variables, so you should not change the preference file between using FWCalendar and FWCAddEvent.
(ClassAct GUI only) Help bubbles can be accessed by placing the mouse pointer over a gadget and pressing the 'Help' key on the keyboard. The bubble will go away after a short time (as defined by the HelpTime variable) or upon pressing the 'Help' key a second time (in the help-bubble window).
Project->Load: Allows you to load a preference file. The full path and file name of the loaded preference file will be displayed at the top of the requester; if the PrefsName variable is set in the preference file, that name will be displayed in place of the preference file's path and file name.
Project->Save As: Allows you to save the current settings under a new name. The new file then becomes the default preference file.
Calendar Type->Standard: Generates Standard (Christian) calendars.
Calendar Type->Hebrew: Generates Hebrew (Jewish) calendars.
Calendar Type->Islamic: Generates Islamic calendars.
Control Buttons:(Start) Month: Allows you to select the month of the generated calendar. If the selected calendar type is multi-month (only available when PageStream is the host application), then this gadget selects the first month to be generated. This gadget will not be available for "yearly" calendar types.
End Month: Allows you to select the final month of a multi-month calendar (only available when PageStream is the host application) to be generated. This gadget will not be present for "yearly" or "single-month" calendar types.
Year: Allows you to select the year of the generated calendar. The up/down gadget can be used to change the value, or the value can be entered directly.
Calendar Format: Select the desired calendar format: Single-month, where each application document consists of a single calendar; Multi-month (only available when PageStream is the host application), where each application document consists of a number of calendars as defined by the start- and end- months; or Yearly, where each application document consists of mini-calendars for the year.
Go: Begin generation of the selected calendar and save changes made to the settings. (For the ClassAct GUI only, holding down a shift key will prevent changes made to the settings from being saved.)
Cancel: Cancels the operation. If the requester is cancelled, no changes made to any variables (either in the variable requester or in the highlight editor) will be saved.
Highlights: If checked, highlights found in the preference file will be included. Use the Highlight Editor to set the highlights.
Images: If checked, images will be included on days either defined in
the Highlight Editor or identified
as an Imageclass. variable. Note that the
"Images" checkbox will be ghosted if FWCalendar can't find the graphics
application identified in GfxApp. If the "Images"
checkbox is ghosted and you don't think it should be, check the values of the
GfxApp and GfxAppPath variables to make sure they are properly
set.
Box Dates: If checked, a box (or image as defined in
DateBoxImage)
will be drawn around the date in the
Font.Date color. If Final Writer is the host
application, don't use this option with CornerRadius (the curvature of the boxes will be
different and not look very good).
MiniCal Initials: If checked, the first letter of the weekday name
will be included at the top of each weekday column in the mini-calendars.
Extended: If checked, the days from the previous month and the next
month will be printed on the calendar as appropriate. This option is not
possible at the same time as either the "Extra week at top" or "Note Box"
options.
Extra week at top: If checked, the last week of months that extend
into the 6th week will be printed as full-sized cells at the top of the calendar
rather than half-height cells at the bottom of the calendar. This option is not
possibe if the "Extended" option has been selected.
Note box: If checked, an empty box with the user-definable label
(defaulting to "Notes") will be included where ever empty calendar boxes would
show up. This option can be used with the "Extra week at top" option, but cannot
be used with the "Extended" option (the entire calendar is filled with calendar
boxes in this case.
Margins: The text boxes surrounding the cycle gadget correspond (going
clockwise from the top) to the top, right, bottom, and left margins. The default
values are read from the application's preferences when Final Writer is the host
application, and default to 0.5 units when PageStream is the host application.
If one of the margin gadgets is active, the Orientation: The center cycle gadget alternates between "Tall"
(portrait) and "Wide" (landscape) settings.
<TAB> key will
cycle through the margin settings. The following units can be used, but must
immediately follow a number (i.e., they can't be outside parentheses): ppt for
printer points, cm for centimeters, ft or f for feet, in or i for inches, mm for
millimeters, pp for printer picas, pt for points, c for cicero, d for didot
points, m for meters, or p for picas. If no units are indicated, inches will be
assumed. These gadgets support simple math calculations (with the ClassAct
interfact only).
Variables Tab
Font Variable: Select the desired font (see the variables for details) from the cycle gadget.
Font Name: This is a read-only gadget.
Ff: The file requester gadget must be used to change the font. When Final Writer is being used as the host application, a standard file requestor will appear from which you can select the desired font; when PageStream is being used as the host application, a list of all installed fonts will appear.
Color Variables: The text, line, and background colors (see the variables for details) will be presented in a list.
>: This gadget will allow you to cycle through the variables that have color attributes. Shift-click on this gadget to cycle through in reverse order.
Color: When this button is pressed, a list of available colors will be presented (if the host application is Final Writer, the actual color will be shown as well). Some variables allow <Clear> as an option, while others don't.
Date Color = Highlight Color: If checked, the date (and date box, if this option is selected) will be printed in the same color as the highlight text. If the checkbox is cleared, the date color will be determined by Color.Date.
Use Daily Colors: If checked, the date (and date box, if this option is selected) will be printed in a color determined by the variables Color.Sunday through Color.Saturday. If the checkbox is cleared, the date color will be determined by Color.Date.
Highlight Editor: The highlight editor can be invoked by clicking on this gadget.
Miscellaneous Variables: The miscellaneous (see the variables for details) will be presented in a list.
>: This gadget will allow you to cycle through the miscellaneous variables. Shift-click on this gadget to cycle through in reverse order.
Variable Value: Except for GfxApp, GfxAppPath, and SunCalcPath (the file requester gadget must be
used to change the values of these variables), set the value of the selected
variable here; you must either <RETURN> or
<TAB> after entering the value. Quotes will automatically be
added for variables requiring non-numeric values. Simple math calculations can be
entered for numeric variables (with the ClassAct interface only).
File Requester: Used for setting the values of GfxApp, GfxAppPath, SunCalcPath and ImageClass variables.
+IC: (ClassAct GUI only) Add an ImageClass variable. ImageClass variables can be deleted by clearing the value for the desired ImageClass variable.
Extras TabsThe extras are:
Phases: Include the phases of the moon (see note 1)
Week Number: Include the sequential week number on the first day of each week.
Julian: Include the Julian day (the number of days since the beginning of the year).
Julian Left: Include the number of days remaining in the year.
Jul/Jul Left: Include both the Julian day and the number of days remaining, separated by a "/", in the same location.
Sunrise: Include the sunrise time (see note 2).
Sunset: Include the sunset time (see note 2).
Rise/Set: Include both the sunrise and sunset times, separated by a "/", in the same location (see note 2).
History: Include a 'day in history' event. Only available for the bottom-center location, and no other bottom-located extras can be selected in conjunction with this. Will be ghosted unless the history files are present (see data files).
Random: Include a random event. Only available for the bottom-center location, and no other bottom-located extras can be selected in conjunction with this. Will be ghosted unless the random file is present (see data files).
Note 1: Will be ghosted unless either rexxmathlib.library by Thomas Richter or date.library by Kai Hofmann are available.
Note 2: Will be ghosted if FWCalendar can't find SunCalc; check the value of the SunCalcPath variable to make sure you have properly set the path to SunCalc.
"Highlight" is the term I'm using to describe holidays, anniversaries, birthdays, and other notable dates. Highlights are added to the calendar as it is being generated. The Highlight Editor described below is not the same as the requester that's a part of FWCAddEvent. The events entered in FWCAddEvent are added to a calendar that has already been generated. These events do not repeat themselves every year (at least not at the same time).
There are several possibilities for highlight information, depending on whether the highlight falls on a fixed date or can "float". Both fixed highlights and floating highlights and can be set to happen monthly, while "fixed" highlights can also be set to show up only on weekdays or to always show up on the last day of the month. Highlights can also be set to occur weekly or biweekly (ie, on a certain weekday of only odd or even weeks).
If a Standard calendar is generated, then Easter-based highlights, highlights based on the Hebrew calendar (e.g., Rosh Hashana), and highlights based on the Islamic calendar (e.g., Ramadan) can be included. If a Hebrew or Islamic calendar is generated, Easter-based highlights can be included. The highlights available depend on the calendar type selected (by way of the menu) when the Highlight Editor is started.
Multiple highlights falling on the same day will automatically be accounted for. If you're using different date-cell background colors for your holiday-highlights and other highlights, only the box for the first highlight will be drawn (this keeps boxes from covering up already-rendered text).
If a highlight is wider than the calendar box width, the highlight will be compressed if possible and word-wrapped if necessary.
The dates of all highlights will be bolded in minicalendars. If a highlight
is indicated as Special, the date for that highlight will either be boxed or
surrounded by an image of your choice (see
Image.Special) in the minicalendars. If a highlight
is indicated as Holiday, the date for that highlight will either be boxed or
surrounded by an image of your choice (see
Image.Holiday) in the minicalendars.
Highlights entered in this editor are added to the calendar as it is
being generated. This is different from the requester that's a part of FWCAddEvent. The events entered in FWCAddEvent are
added to a calendar that has already been generated. These events do not
repeat themselves every year (at least not at the same time).
The Highlight Editor is called by clicking on the Highlight Editor button
found on the "Variables" tab of the Variable
Editor. This editor consists of the following fields, settings, and gadgets:
Help bubbles can be accessed by placing the mouse pointer over a gadget and
pressing the 'Help' key on the keyboard. The bubble will go away after a short
time (as defined by the HelpTime variable) or
upon pressing the 'Help' key a second time (in the help-bubble window).
An anniversary age can be included by entering %CYYYY or %OYYYY within the
event, where YYYY is the "base year" (the initiating year of an event, such as
the birth year or the wedding year). If the %C marker is used, then the
counting "age" (e.g., "22") of the event will be substituted in the
event, while the %O marker will cause the ordinal "age" (e.g., "22nd")
of the event to be substituted. For example, given that the current year is
2002, entering the following event lines will result in the following outputs:
Given that different countries have different rules for creating ordinal
numbers out of counting numbers, you may have to include some ordinal definitions
in the FWCTranslations.txt file. The following definitions are used as a default:
OrdinalSuffix.11 = 'th' This means to use th as the ordinal suffix for
"ages" ending in '11', '12', or '13', use st if the
"age" ends in '1', nd for "ages" ending in '2', and
rd for "ages" ending in '3'. For all other "ages,"
use th as the suffix. Note that the first three lines
(for 11, 12, and 13) are required to override the rules for "ages" ending in
1, 2, and 3.
File Selector: The file selector gadget is used to select images to
appear on the calendar. If you want to shift the image (see the
Images section),
you can enter the comma-separated x- and y-shifts after selecting the image.
V: The chooser gadget will list the highlights for the current
month in chronological order, even as new events are added.
>: The right-pointing arrow is used to select the next
(chronologically) highlight, wrapping around to the first event when necessary.
Shift-clicking on the gadget will select the previous (chronologically)
highlight, wrapping around to the last event when necessary.
Comment: Enter an optional comment for the highlight. Although the
comment won't be printed, it is available to maintain compatability with
previous versions of FWCalendar.
Month Selector: The month selector is used to select the month in
which the highlight falls. Also available in this selector is "All" for those
highlights (like pay days) that happen at the same time every month. Changes
to the current month's highlights are saved to memory when a new month is
selected; changes are not saved to the preference file until a calendar is generated.
Date Selectors: The calendar of gadgets is used to select the date on
which a highlight falls. The "LD" gadget is used for highlights that fall on the
last day of a month.
Category: The category of highlight being added. If a Standard calendar
is being generated, then Easter, Jewish, and Islamic events can be selected with this
gadget. If a Hebrew or Islamic calendar is being generated, then Easter events can be
selected with this gadget.
Type:
Event: Enter the highlight as you want it to appear in the calendar,
including any quotes you want to appear. Although either single or double
quotes can be used, only one type can be used in a given highlight.
Fred turns %C1960 today!
Fred turns 42 today!
Fred's %O1960 birthday
Fred's 42nd birthday
OrdinalSuffix.12 = 'th'
OrdinalSuffix.13 = 'th'
OrdinalSuffix.1 = 'st'
OrdinalSuffix.2 = 'nd'
OrdinalSuffix.3 = 'rd'
OrdinalSuffix.Base = 'th'
| Standard | Standard highlights are those that happen on specified days of the month. Events like birthdays, anniversaries, and national holidays fall in this category. Standard highlights can be Fixed, Floating, or (Bi)Weekly (the descriptions of each of these highlight types can be read below). | |
| Easter | Easter highlights are those that are based on the day on which
Easter falls. Events like Ash Wednesday, Palm Sunday, and Good Friday
|
|
| Hebrew | Hebrew highlights are those that are based on the Hebrew calendar. Events like Rosh Hashana, Chanukah, and Passover fall in this category. Hebrew highlights are always fixed. | |
| Islamic | Islamic highlights are those that are based on the Islamic calendar. Events like Ramadan fall in this category. Islamic highlights are always fixed. |
The gadget below the highlight type will change depending on the highlight type selected.
Color: The print color for the highlight can be selected with this gadget. If <Clear> is selected, the print color for the highlight will be determined by the values of Color.Highlight, Color.HighlightH, AltColor.Highlight, and AltColor.HighlightH as appropriate.
Day Type: If you want a highlight to be treated as Special or Holiday (which allows different background colors to be used for the days than used for non-holiday entries), set the cycle gadget to "Special" or "Holiday".
Delete Event: Highlights can be deleted with this gadget. The current highlight list will be saved to memory when the "Done" gadget is pressed, but not saved to the preference file until a calendar is generated.
Done: Selecting "Done" will cause any changes made to be saved to memory. Changes will not be saved to the preference file until a calendar is generated. Changes are also saved to memory anytime a new month is selected with the month selector. You can exit without saving current changes by selecting the "Close" gadget in the upper left corner of the requester; changes already saved to memory by switching months can only be cancelled by cancelling the main Variable Editor.
If a highlight always falls on the same day, leave the "Weekend" gadget set
to "OK". If the highlight can't fall on the weekend, then set the "Weekend"
gadget to "Prev Day" if the highlight gets moved up to the previous Friday, or
to "Next Day" if the highlight gets moved back to the following Monday.
Always set the date gadget to the day the highlight should fall on,
even if it shows up on the weekend in the particular month shown in the
editor.
The "LD" gadget is used for highlights that fall on the last day of a month.
To set these highlights, select the date gadget for the day on which the
highlight falls. The "Week Number" gadget will automatically indicate which week
you have chosen. If you would like to change the week number, select the proper
week number in the "Week Number" gadget, and the date will change accordingly.
Be especially aware of the week number setting for those highlights that occur
during the last week of a month rather than during the fourth week
of a month.
Fixed highlights are those highlights that always fall on the same day
(for example, a birthday), and those highlights that usually fall on the same
day (for example, tax day in America is always April 15 unless April 15 falls on
a weekend, in which case it falls on the following Monday).
Floating highlights are those that occur during a certain week of the
month. Mother's Day, for example, always falls on the Sunday during the second
week of May, while Memorial Day always falls on the Monday during the last week
of May.
(Bi)Weekly highlights can be set to occur every week (weekly) or every
other week (biweekly). When dates are selected for these highlights, the "Week
Type" gadget will be set to either "Odd" (if the selected date occurs during an
odd-numbered week of the year) or "Even" (if the highlight occurs during an
even-numbered week of the year). If the highlight should occur every week, set
the "Week Type" gadget to "All". Changing the week type setting will cause the
date to be changed accordingly.
You can specify images to be inserted in the center of certain dates such as birthdays, anniversaries, Christmas, Tax Day, etc. Some images can be inserted whether or not a highlight is inserted on that date. Only one image can be inserted for a given day.
When used with PageStream as the host application, FWCalendar needs to know the type of the images to be used; when used with Final Writer as the host application, FWCalendar needs to know the image dimensions. FWCalendar can extract this information from many image formats including IFF-InterLeaved BitMap (.iff), Windows BitMap (.bmp), PostScript (.ps), Adobe Illustrator Encapsulated PostScript (.eps), Joint Photographics Expert Group (.jpg), Portable Network Graphics (.png), Compuserve's Graphic Interchange Format (.gif), ZSoft PC-Paintbrush (.pcx), Tagged Image File Format (.tif) and Targa (note that Pagestream and Final Writer do not necessarily support all these formats). The internal parser used to obtain information from the graphics files is very simple and may not be able to extract the needed information from every file in the above formats. To use FWCalendar's internal parser, set GfxApp to point to FWCalendar.rexx itself.
If you find that the internal capabilities are not adequate, you can define the graphics application you want to use to determine this information by defining the GfxApp and GfxAppPath to point to one of three applications: Visage by Magnus Holmgren; ImageDTInfo by Dámaso Domínguez; and PicSize by Ralph Reuchlein. Each of these applications is available from Aminet. If you would like to see another application supported, contact me.
Hint: Encapsulated Postscript images (in Adobe Illustrator-compatible format) can be made to work on your system (with or without datatypes) with the installation of the HWGPost package.
As an alternative, HWGPost can be installed on your system. This will allow
postscript images
Image Classes -Image classes can be defined for frequently occurring
events such as birthdays and anniversaries. The variable stem is
ImageClass., and the variable itself must match a word
that will be used in the highlight (for example, ImageClass.Birthday will define the image to be used
for all highlights containing the word "Birthday", and ImageClass.Anniversary will define the image to be used
for all highlights containing the word "Anniversary"). The value of the variable
is the file name of the image to be used.
(ClassAct GUI only) Image class variables can be added using the '+IC' button
on the Variables tab of the variable requester. After defining the name of the
image class, the value must be set as outlined above.
Image class variables can be deleted by clearing the value of the desired
variable.
Images are normally printed in the center of the date box. If you would like
to shift the image, the shift parameters can be defined as part of the
image-file definition. The template for an image variable is:
ImageClass.<Class> = "<File> [,<x
shift> [,<y shift>]]"
where the shifts are in inches.
For an image (found in the "Images" directory in the same directory as
FWCalendar) to be used for all birthdays:
ImageClass.Birthday = "Birthday.iff"
The "Birthday.iff" image will be inserted on all days that have a highlight
with the word "Birthday" in it.
To shift the image a quarter inch to the right and up a tenth of an inch, the
entry would be:
ImageClass.Birthday = "Birthday.iff, 0.25,
-0.1"
For an image (found in some other directory) to be used for all
anniversaries:
ImageClass.Anniversary =
"WB:IFF/Anniversary.iff"
The "WB:IFF/Anniversary.iff" image will be inserted on all days that have a
highlight with the word "Anniversary" in it.
Specific Images - Images for specific dates are entered using the Highlight Editor. Images are not currently supported
for Easter-based highlights, but images can otherwise be defined for any of the
highlight formats (fixed, floating, and (bi)weekly). Images don't require any
highlight text to be set for that date.
FWCalendar is fully scaleable. Just change the margins in the preferences file and run the macro; a proportionally scaled new calendar will be generated. There is no need to change font sizes: a calendar rendered to fit in a 7.5" x 10.0" space will look essentially identical to a calendar rendered to fit in a 1.875" x 2.5" space.
When Pagestream is used as the host application, calendars are completely scaleable. Because Pagestream allows fractional font sizes, and font sizes from 1 pt to 50000 pt in 0.001 pt increments, you could theoretically print a 0.79"-high calendar that would look just like a 7.5"-high calendar. Obviously printer limits come into play before Pagestream's font-size limitations.
Final Writer has a lower limit of 4 pts for allowable font sizes, and font sizes must be whole numbers. This limits the vertical size of FW-rendered calendars to no smaller than about 3.125". Although small calendars will appear proportional to larger calendars, the text sizes may be slightly different.
You can add the sunrise and/or sunset times to each day if you have SunCalc by Brian Savage installed. Use the Variable Editor to set the variable SunCalcPath to the path of the SunCalc application.
The settings for SunCalc (the longitute, latitude, timezone, and hour format) are read from the environment variables as described in the SunCalc documentation. FWCalendar can take into account changes to and from daylight savings time (change the AdjustDST variable if your location doesn't participate in DST time changes).
If you would like to execute a command or launch an application upon FWCalendar completing either a monthly or yearly calendar, then set the LaunchM (to execute a command after completing a monthly
calendar) or LaunchY (to execute a command after completing a full-year calendar) variable. You'll want to have an understanding of ARexx to do this, since the LaunchM and LaunchY variables are simply INTERPRETed. Some possibilities might be:
For either host application (Final Writer or PageStream), for use with monthly or yearly calendars:
When the host application is Final Writer, :
When the host application is PageStream, for use with monthly or yearly calendars:
I have replaced all
Date() function calls (except those asking for the current date) with DateInfo() function calls. DateInfo() is a subroutine I wrote to mimic the behavior of Date() in all ways except that it allows (theoretically) any dates to be used (the Date() function is limited to dates between Jan 1, 1978 and Dec 31, 2099, inclusive).The routine used to determine a specific date from a serial date was taken from Astronomical Computing, Sky & Telescope, May, 1984. The routine used to determine a serial date from a specific date was taken from PerpetualCalendar.bas that appeared in Astronomical Computing, Sky & Telescope, July, 1985. I do not pretend to have an understanding of how these routines work, and therefore cannot warrant that they are accurate. I do know, however, that
Date() and DateInfo() return identical results for all options (except option 'C', see below) and all dates for which Date() is valid. Note, though, that the function does not take into account the transition to the Gregorian calendar back in the 1500s.Option 'C' for
Date() returns the number of days since Jan 1, 1900, while DateInfo() returns the number of days since the beginning of the century in which the date occurs (eg, Jan 1, xx01).This means that FWCalendar is Y2K compliant, and should be valid for any possible date after the transition to the Gregorian calendar.
FWCalendar is localized for several languages (currently English, German, Swedish, Italian, Spanish, French, Norsk, and Portugese) by including the proper translations for month names, weekday names, and requester strings in the FWCTranslations.txt file. Not speaking any of these languages other than English, I relied on help from people using these macros or used the translation utility available from Alta Vista to translate the information. Without your help, I have no way of confirming the accuracy of these translations.
In addition to New Year's Day and Christmas, national holidays or celebration days are listed for many countries: America, England, France, Germany, Ireland, Italy, Norway, Scotland, Spain, and Sweden. Much of the information for this area was obtained from The Worldwide Holiday & Festival Site. I would appreciate your contributions for other countries. Please email me the "highlights" for your country and I will update the available preference files.
To see the variables that can be localized, look at the FWCTranslations.txt file in the American folder or, if it exists, in the folder for any of the supported countries.
if DSR_Success == 0 then bguierror(12)
then it may be due to a screen resolution that does not allow enough room for the GUI to open.
The actual origin of the algorithm used for calculating the date of Easter appears to be by an anonymous correspondent from New York to Nature in 1876. Samuel Butcher, Bishop of Meath, showed that this algorithm followed from Delambre's analytical solutions, and produces the date of Easter for all years.
The algorithm used in DateInfo is a modified version of the one that appears in Practical Astronomy With Your Calculator, 2nd Edition by Peter Duffett-Smith, and he obtained this algorithm from Butcher's Ecclesiastical Calendar, published in 1876. This algorithm has also been published in the 1922 book General Astronomy by Spencer Jones; in The Journal of the British Astronomical Association (Vol.88, page 91, December 1977); and in Astronomical Algorithms (1991) by Jean Meeus.
Highlights can now include Islamic-calendar events
Islamic calendars can now be generated
Highlights can now include Hebrew-calendar events
Hebrew calendars can now be generated
"Reset", "Load", and "Save As" buttons are now menu items
Accommodated default directory for FWCAddEvent data files.
Increased flexibility of calendars. For yearly calendars, YearlyCalColumns determines the number of columns of months, YearlyCalMonthOrder determines whether months increase across the rows or down the columns. For monthly calendars, MonthlyDayOrder determines whether days increase across the rows or down the columns. For both calendars, MiniCalDayOrder determines whether days increase across the rows or down the columns for the mini-calendars.
NOTE: The MiniCalSpacing variable has
been renamed YearlyCalSpacing to keep all the
Yearly calendar variables together.
The host application's default units are now used for all measurements, and the measurements are displayed in these units as well, rather than being converted to inches. Note that ShiftLMini and ShiftRMini are now expressed in terms of the default application units rather than in the number of 1/720 inch shifts.
Can start week numbers with either the first whole week or the first week, whole or partial (see CountPartialWeek)
Can insert Advent highlights by setting the AdventHighlights, Image.Advent, and Advent$. variable (the Advent$. variable is added to the FWCTranslations.txt file)
Can have anniversary numbers included with birthdays, anniversaries, etc. (see Highlights for details)
Can enter periodic events (e.g., being on call for three days every three weeks) (see Adding Events for details)
Added checkbox for including the first letter of the weekday name at the top of each weekday column in the mini-calendars.
FWCalendar can now parse image files to the extent necessary to obtain format and size information. An external graphics program (i.e., Visage, ImageDTInfo, or PicSize) are no longer required; they are still supported, however, since the internal parser is fairly simple and may not work for all images. The greatest advantages of using the internal parser are speed and memory usage.
DSTStart and DSTEnd allow the start and end dates of Daylight Saving Time to be set.
PhaseType allows moon phases to be either shown on each day or only on the phase quarters.
Now supports three types of Highlight days: Normal, Special, and Holiday (see the Highlight Editor.
Image. variables allow images to be used in place of boxes for various parts of the main calendar and minicalendar
Different colors can be used for Sunrise/Sunset and Julian/JulianLeft even when both are printed in the same location. SunriseSep and JulianSep allow the character(s) used between Sunrise/Sunset and Julian/JulianLeft to be defined.
Simple math can be used in numeric variables (e.g., font sizes) (with the ClassAct interface only).
User-defineable units can be used for the margin values.
Limit.Sunrise and Limit.Sunset allow printing of sunrise/sunset and Julian days/Julian days left to be limited to a user-defineable day of the week.
User variables allowed in FWCAddEvent data file.
Added Undo capability to FWCAddEvent (ClassAct GUI only).
EndWeek variable allows selection of the date to use in the last calendar column. When used in conjunction with StartWeek, a range of days (e.g., Monday through Friday) can be printed.
(PageStream only) Multi-month calendars can be created where a single document consists of multiple calendars.
| v 4.35 11 May 02 |
|
||||||||||
| v 4.34 20 Apr 02 |
|
||||||||||
| v 4.32 13 Mar 02 |
|
||||||||||
| v 4.30 2 Mar 02 |
|
||||||||||
| v 4.28 21 Feb 02 |
|
||||||||||
| v 4.26 21 Feb 02 |
|
||||||||||
| v 4.24 16 Feb 02 |
|
||||||||||
| v 4.21 - v 4.23 |
|
||||||||||
| v 4.20 12 Nov 01 |
|
||||||||||
| v 4.18 3 Nov 01 |
|
||||||||||
| v 4.14 3 Jun 01 |
|
||||||||||
| v 4.13 3 Jun 01 |
|
||||||||||
| v 4.11 8 Jan 01 |
|
||||||||||
| v 4.09 23 Oct 00 |
|
||||||||||
| v 4.08 7 Oct 00 |
|
||||||||||
| v 4.07 25 Sep 00 |
|
||||||||||
| v 4.06 24 Sep 00 |
|
||||||||||
| v 4.05 21 Sep 00 |
|
||||||||||
| v 4.04 16 Aug 00 |
|
||||||||||
| v 4.02 18 Jul 00 |
|
||||||||||
| v 4.01 11 Jul 00 |
|
||||||||||
| v 4.00 4 Jun 00 |
|
||||||||||
| v 3.86 7 May 00 |
|
||||||||||
| v 3.84 11 Mar 00 |
|
||||||||||
| v 3.82 4 Mar 00 |
|
||||||||||
| v 3.78 11 Jan 00 |
|
||||||||||
| v 3.76 2 Dec 99 |
|
||||||||||
| v 3.74 1 Nov 99 |
|
||||||||||
| v 3.72 1 Nov 99 |
|
||||||||||
| v 3.70 7 Oct 99 |
|
||||||||||
| v 3.68 4 Oct 99 |
|
||||||||||
| v 3.66 20 Sep 99 |
|
||||||||||
| v 3.64 10 Sep 99 |
|
||||||||||
| v 3.62 25 Aug 99 |
|
||||||||||
| v 3.60 4 Aug 99 |
|
||||||||||
| v 3.57 26 Jul 99 |
|
||||||||||
| v 3.56 25 Jul 99 |
|
||||||||||
| v 3.54 11 Jul 99 |
|
||||||||||
| v 3.52 5 May 99 |
|
||||||||||
| v 3.50 28 Apr 99 |
|
||||||||||
| v 3.48 24 Apr 99 |
|
||||||||||
| v 3.46 23 Apr 99 |
|
||||||||||
| v 3.44 22 Apr 99 |
|
||||||||||
| v 3.44 21 Apr 99 |
|
||||||||||
| v 3.42 18 Apr 99 |
|
||||||||||
| v 3.40 17 Apr 99 |
|
||||||||||
| v 3.36 14 Apr 99 |
|
||||||||||
| v 3.35 14 Apr 99 |
|
||||||||||
| v 3.32 8 Apr 99 |
|
||||||||||
| v 3.32 7 Apr 99 |
|
||||||||||
| v 3.30 6 Apr 99 |
|
||||||||||
| v 3.25 4 Mar 99 |
|
||||||||||
| v 3.20 2 Mar 99 |
|
||||||||||
| v 3.15 16 Feb 99 |
|
||||||||||
| v 3.10 14 Feb 99 |
|
||||||||||
| v 3.05 13 Feb 99 |
|
||||||||||
| v 3.02 7 Feb 99 |
|
||||||||||
| v 3.01 6 Feb 99 |
|
||||||||||
| v 3.00 1 Feb 99 |
|
||||||||||
| v 2.25 29 Dec 98 |
|
||||||||||
| v 2.20 10 Oct 98 |
|
||||||||||
| v 2.15 |
|
||||||||||
| v 2.10 |
|
||||||||||
| v 2.05 |
|
||||||||||
| v 2.05 |
|
||||||||||
| v 2.0 |
|
||||||||||
| v 1.4 |
|
||||||||||
| v 1.3 |
|
||||||||||
| v 1.2 |
|
||||||||||
| v 1.1 |
|
||||||||||
| v 1.01 |
|
||||||||||
| v 1.0 |
|
||||||||||
| v 4.12 21 Apr 02 |
|
| v 4.10 25 Mar 02 |
|
| v 4.08 13 Mar 02 |
|
| v 4.05 21 Feb 02 |
|
| v 4.04 30 Jan 02 |
|
| v 4.02 3 Nov 01 |
|
| v 3.97 12 Jun 01 |
|
| v 3.95 3 Jun 01 |
|
| v 3.92 29 Jan 01 |
|
| v 3.91 7 Oct 00 |
|
| v 3.90 25 Sep 00 |
|
| v 3.89 24 Sep 00 |
|
| v 3.88 6 Sep 00 |
|
| v 3.87 16 Aug 00 |
|
| v 3.84 11 Jul 00 |
|
| v 3.78 11 Mar 00 |
|
| v 3.76 4 Mar 00 |
|
| v 3.74 11 Jan 00 |
|
| v 3.72 25 Oct 99 |
|
| v 3.70 7 Oct 99 |
|
| v 3.66 4 Oct 99 |
|
| v 3.64 20 Sep 99 |
|
| v 3.62 10 Sep 99 |
|
| v 3.60 25 Aug 99 |
|
| v 3.50 10 Jul 99 |
|
| v 3.30 3 Jun 99 |
|
| v 3.28 15 May 99 |
|
| v 3.27 14 May 99 |
|
| v 3.25 4 Mar 99 |
|
| v 3.20 2 Mar 99 |
|
| v 3.15 16 Feb 99 |
|
| v 3.10 14 Feb 99 |
|
| v 3.00 1 Feb 99 |
|
| v 2.50 29 Dec 98 |
|
| v 2.45 10 Oct 98 |
|
| v 2.40 |
|
| v 2.35 |
|
| v 2.3 |
|
| v 2.2 |
|
| v 2.1 |
|
| v 2.0 |
|
| v 1.2 |
|
| v 1.1 |
|
| v 1.0 |
|