Calendar macro for FinalWriter (SoftWood) Written by Andrew McCardie amethyst@gulf.net January 30th, 1995 This macro can create three different types of calendars: Portrait, double-portrait, and landscape. Two versions are included. The first (calendar.fw2) is suitable for FW 2.x only. The second (calendar.fw3) works only under FW3. Both now get user input through commands wholly internal to FW. Therefore, the ADOS specific versions are gone for good (hopefully). SoftWood has changed the way text blocks are handled between FinalWriter 2 and FinalWriter 3. This has had the effect of slowing down the macro considerably because each text-block must be redrawn before its width is updated. Newer (Jan. 3, 1995) and later have corrected this problem, but I've left the code alone for backwards compatibility. Also, all versions of FW3 have started measuring text blocks from the font's baseline instead of its top, which is why the FW2 macro doesn't work properly under FW3. ----------------------------------------------------------------------------- Portrait produces a standard 8.5x11 page with a single calendar. Double portrait produces a standard 8.5x11 page with two calendars. Landscape produces a standard 11x8.5 page with a single calendar. While it should handle leap-years, this feature has not been exhaustively tested. The fonts and margins are designed to be user-customizeable. Certain default values (in inches) have been hardcoded into the variables 'top_margin', 'bottom_margin', and 'side_margin' to produce the largest calendars on my DeskJet. You can change these if you need a smaller calendar or if the calendars print incorrectly on your setup. If you change the default fonts, you may have to experiment with their sizes and widths to get an appropriate look. If you find any bugs, let me know and I'll try to rectify them. Disclaimer: I take no responsibility for problems that may result from using this macro. History: Unnumbered first release: Did not realize that 'requestchoice' is found only in OS3.x and above, so 2.x users were out of luck. 1.0: Created a second macro using 'RequestText' which is built in to FinalWriter instead of 'requestchoice' 1.1: Got a brain transplant and realized that FinalWriter DOES have a way to get user input from a requester. Implemented FW's built-in requester, eliminating ADOS specific versions of the macro. Discovered that FW3's handling of text blocks (among other things) is different from FW2.x, so had to implement version specific macros.