mirror of
https://salsa.debian.org/dskoll/remind.git
synced 2026-04-16 14:28:40 +02:00
Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2e161a1bc1 | ||
|
|
204bb00060 | ||
|
|
d6029a54aa | ||
|
|
f99b5c5a66 | ||
|
|
2df4119c1a | ||
|
|
d06b4e5dcd | ||
|
|
bf8a25137d | ||
|
|
0f302ad0fc | ||
|
|
e3d6b283c5 | ||
|
|
2e3ed09039 | ||
|
|
37971a3f07 | ||
|
|
2a1960f257 | ||
|
|
350564c304 | ||
|
|
9e2a9fea37 | ||
|
|
3592b43629 | ||
|
|
becf1fc459 | ||
|
|
2bccd058ed | ||
|
|
12c6621051 |
2
configure
vendored
2
configure
vendored
@@ -3991,7 +3991,7 @@ _ACEOF
|
||||
fi
|
||||
done
|
||||
|
||||
VERSION=03.03.03
|
||||
VERSION=03.03.04
|
||||
|
||||
ac_config_files="$ac_config_files src/Makefile www/Makefile src/version.h"
|
||||
|
||||
|
||||
@@ -75,6 +75,6 @@ if test "$GCC" = yes; then
|
||||
fi
|
||||
|
||||
AC_CHECK_FUNCS(setenv unsetenv glob mbstowcs setlocale)
|
||||
VERSION=03.03.03
|
||||
VERSION=03.03.04
|
||||
AC_SUBST(VERSION)
|
||||
AC_OUTPUT(src/Makefile www/Makefile src/version.h)
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
CHANGES TO REMIND
|
||||
|
||||
* VERSION 3.3 Patch 3 - 2021-01-12
|
||||
|
||||
- NEW FEATURE: If "inotifywait" is installed, TkRemind uses it to refresh
|
||||
the calendar display right away when the reminders file/directory is updated.
|
||||
This makes TkRemind react almost instantly if external tools are editing
|
||||
or updating reminders.
|
||||
|
||||
- MINOR NEW FEATURE: rem2ps has a new '-x' option; this puts the day numbers
|
||||
on the top-left of the day's box instead of the top-right.
|
||||
|
||||
- MINOR FIXES: A typo in remind.1 was fixed; additional comments regarding
|
||||
UNTIL were added.
|
||||
|
||||
* VERSION 3.3 Patch 3 - 2020-11-09
|
||||
|
||||
- BUG FIX: Fix startup crash in TkRemind if "Show Today's Reminders on
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH REM2PS 1 "1 January 2020"
|
||||
.TH REM2PS 1 "5 January 2021"
|
||||
.UC 4
|
||||
.SH NAME
|
||||
rem2ps \- draw a PostScript calendar from Remind output
|
||||
@@ -29,6 +29,11 @@ include any document structuring comments in your prologue.
|
||||
Produce the calendar in landscape mode rather than the default
|
||||
portrait mode.
|
||||
.TP
|
||||
.B \-x
|
||||
When printing the calendar, place the day numbers in the top-left of each
|
||||
day's box. If this option is omitted, the day numbers appear in the
|
||||
top-right.
|
||||
.TP
|
||||
\fB\-c\fR[\fIn\fR]
|
||||
If \fIn\fR is omitted, disables the small calendars for next and previous
|
||||
months which are normally generated. If \fIn\fR is supplied, it can range
|
||||
|
||||
16
man/remind.1
16
man/remind.1
@@ -860,6 +860,20 @@ As a special case, you can use the \fBTHROUGH\fR keyword instead of
|
||||
REM 1992-11-30 +2 THROUGH 1992-12-04 MSG Jury duty
|
||||
.fi
|
||||
.PP
|
||||
If you have an expiry date via the use of \fBTHROUGH\fR or \fBUNTIL\fR,
|
||||
then Remind will \fInever\fR trigger the reminder after the expiry
|
||||
date. For example, if you have this:
|
||||
.PP
|
||||
.nf
|
||||
OMIT 2021-01-08
|
||||
REM 2021-01-01 THROUGH 2021-01-08 AFTER MSG Test
|
||||
.fi
|
||||
.PP
|
||||
the reminder will not be triggered on 2021-01-08, and nor will it be
|
||||
triggered on 2021-01-09; even though the AFTER keyword would normally
|
||||
move the 8th's reminder to the 9th, the expiry date of 2021-01-08
|
||||
overrides that.
|
||||
.PP
|
||||
.B THE ONCE KEYWORD
|
||||
.PP
|
||||
Sometimes, it is necessary to ensure that reminders are run only once
|
||||
@@ -3671,7 +3685,7 @@ and sometimes an \fBOMITFUNC\fR; experiment and use whichever seems clearer.
|
||||
.SH POSSIBLY-UNCOMPUTABLE TRIGGERS
|
||||
.PP
|
||||
Occasionally, you may wish to suppress the "Can't compute trigger" warnings
|
||||
for reminders for which a trigger date cannot be compute. For example,
|
||||
for reminders for which a trigger date cannot be computed. For example,
|
||||
the following reminder is triggered on a Monday that is not a holiday
|
||||
if the following Tuesday is a holiday:
|
||||
.PP
|
||||
|
||||
@@ -155,6 +155,8 @@ set OptDescr(SMTPServer) "(String) IP address or host name of SMTP server to use
|
||||
set Option(ExtraRemindArgs) ""
|
||||
set OptDescr(ExtraRemindArgs) "(String) Extra arguments when invoking remind"
|
||||
|
||||
set TimerUpdateForChanges ""
|
||||
|
||||
# Remind program to execute -- supply full path if you want
|
||||
set Remind "remind"
|
||||
#set Remind "/home/dfs/Remind/src/remind"
|
||||
@@ -168,6 +170,9 @@ set ReminderFile [file nativename "~/.reminders"]
|
||||
|
||||
set EditorPid -1
|
||||
|
||||
# Inotify file
|
||||
set InotifyFP ""
|
||||
|
||||
# Reminder file to append to -- default
|
||||
set AppendFile {NOSUCHFILE}
|
||||
catch {set AppendFile $ReminderFile}
|
||||
@@ -218,6 +223,7 @@ set PrintDest file
|
||||
set PrintSize letter
|
||||
set PrintOrient landscape
|
||||
set PrintFill 1
|
||||
set PrintDaysRight 1
|
||||
set PrintEncoding 0
|
||||
set PrintMargins 36pt
|
||||
set PrintSmallCalendars 1
|
||||
@@ -375,8 +381,7 @@ proc MonitorReminderFile {} {
|
||||
# Redraw calendar and restart daemon if needed
|
||||
if {$ReminderFileModTime < $mtime} {
|
||||
set ReminderFileModTime $mtime
|
||||
FillCalWindow
|
||||
RestartBackgroundRemindDaemon
|
||||
ScheduleUpdateForChanges
|
||||
}
|
||||
}
|
||||
#---------------------------------------------------------------------------
|
||||
@@ -1078,7 +1083,7 @@ proc Status { stuff } {
|
||||
# None
|
||||
#---------------------------------------------------------------------------
|
||||
proc DoPrint {} {
|
||||
global PrintDest PrintSize PrintMargins PrintOrient PrintFill PrintEncoding PrintSmallCalendars PrintStatus Rem2PS PSCmd Option
|
||||
global PrintDest PrintSize PrintMargins PrintOrient PrintFill PrintDaysRight PrintEncoding PrintSmallCalendars PrintStatus Rem2PS PSCmd Option
|
||||
global CurMonth CurYear MonthNames
|
||||
catch {destroy .p}
|
||||
toplevel .p
|
||||
@@ -1114,6 +1119,7 @@ proc DoPrint {} {
|
||||
radiobutton .p.portrait -text "Portrait" -variable PrintOrient -value portrait
|
||||
|
||||
checkbutton .p.fill -text "Fill page" -variable PrintFill
|
||||
checkbutton .p.right -text "Day numbers at top-right" -variable PrintDaysRight
|
||||
checkbutton .p.encoding -text "ISO 8859-1 PostScript encoding" -variable PrintEncoding
|
||||
checkbutton .p.calendars -text "Print small calendars" -variable PrintSmallCalendars
|
||||
|
||||
@@ -1122,7 +1128,7 @@ proc DoPrint {} {
|
||||
|
||||
pack .p.f1 .p.f2 .p.f2a .p.f3 .p.f3a \
|
||||
-side top -fill both -expand 1 -anchor w
|
||||
pack .p.fill .p.encoding .p.calendars -in .p.f3a \
|
||||
pack .p.fill .p.right .p.encoding .p.calendars -in .p.f3a \
|
||||
-side top -anchor w -fill none -expand 0
|
||||
pack .p.f4 -side top -fill both -expand 1 -anchor w
|
||||
pack .p.f11 .p.f12 -in .p.f1 -side top -fill none -expand 0 -anchor w
|
||||
@@ -1194,6 +1200,9 @@ proc DoPrint {} {
|
||||
append cmd " -e"
|
||||
}
|
||||
|
||||
if {!$PrintDaysRight} {
|
||||
append cmd " -x"
|
||||
}
|
||||
if {$PrintEncoding} {
|
||||
append cmd " -i"
|
||||
}
|
||||
@@ -1296,15 +1305,20 @@ proc DoGoto {} {
|
||||
#---------------------------------------------------------------------------
|
||||
proc Quit {} {
|
||||
global Option
|
||||
global InotifyFP
|
||||
if { !$Option(ConfirmQuit) } {
|
||||
destroy .
|
||||
StopBackgroundRemindDaemon
|
||||
exit
|
||||
catch { exec kill [pid $InotifyFP] }
|
||||
catch { close $InotifyFP }
|
||||
exit 0
|
||||
}
|
||||
if { [tk_dialog .question "Confirm..." {Really quit?} question 0 No Yes] } {
|
||||
destroy .
|
||||
StopBackgroundRemindDaemon
|
||||
exit
|
||||
catch { exec kill [pid $InotifyFP] }
|
||||
catch { close $InotifyFP }
|
||||
exit 0
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1777,8 +1791,7 @@ proc ModifyDay {d firstDay} {
|
||||
WriteReminder $f TKTAG$HighestTagSoFar $rem $opts
|
||||
close $f
|
||||
|
||||
FillCalWindow
|
||||
RestartBackgroundRemindDaemon
|
||||
ScheduleUpdateForChanges
|
||||
return 0
|
||||
}
|
||||
}
|
||||
@@ -2634,6 +2647,7 @@ proc main {} {
|
||||
CreateCalWindow $DayNames
|
||||
FillCalWindow
|
||||
StartBackgroundRemindDaemon
|
||||
SetupInotify
|
||||
DisplayTimeContinuously
|
||||
}
|
||||
|
||||
@@ -3134,12 +3148,38 @@ proc EditTaggedReminder { w } {
|
||||
return 1
|
||||
}
|
||||
|
||||
FillCalWindow
|
||||
RestartBackgroundRemindDaemon
|
||||
ScheduleUpdateForChanges
|
||||
return 0
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#***********************************************************************
|
||||
# %PROCEDURE: UpdateForChanges
|
||||
# Updates the calendar window and restarts background daemon because
|
||||
# something has changed.
|
||||
# %ARGUMENTS:
|
||||
# None
|
||||
# %RETURNS:
|
||||
# Nothing
|
||||
#***********************************************************************
|
||||
proc UpdateForChanges {} {
|
||||
global TimerUpdateForChanges
|
||||
catch { after cancel $TimerUpdateForChanges }
|
||||
FillCalWindow
|
||||
RestartBackgroundRemindDaemon
|
||||
}
|
||||
|
||||
# Schedule an update for 100ms in the future.
|
||||
# That way, if we get a rapid succession of
|
||||
# change notifications, we (probably) only
|
||||
# end up doing one call to UpdateForChanges
|
||||
proc ScheduleUpdateForChanges {} {
|
||||
global TimerUpdateForChanges
|
||||
catch { after cancel $TimerUpdateForChanges }
|
||||
set TimerUpdateForChanges [after 100 UpdateForChanges]
|
||||
}
|
||||
|
||||
#***********************************************************************
|
||||
# %PROCEDURE: UniqueFileName
|
||||
# %ARGUMENTS:
|
||||
@@ -3468,8 +3508,7 @@ proc InteractiveDeleteReminder { tag } {
|
||||
set ans [tk_dialog .error "Really Delete" "Really delete reminder?" warning 0 No Yes]
|
||||
if {$ans == 1} {
|
||||
DeleteTaggedReminder $tag
|
||||
FillCalWindow
|
||||
RestartBackgroundRemindDaemon
|
||||
ScheduleUpdateForChanges
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3522,6 +3561,30 @@ proc SetFonts {} {
|
||||
set SetFontsWorked 1
|
||||
}
|
||||
|
||||
# Set up inotify to watch for changes to reminder file/directory
|
||||
proc SetupInotify {} {
|
||||
global InotifyFP
|
||||
global ReminderFile
|
||||
set failed [catch {set InotifyFP [open "|inotifywait -q -m -e close_write -e move -e create -e delete $ReminderFile" "r"] } ]
|
||||
if {$failed} {
|
||||
# inotifywait probably not available... meh.
|
||||
return
|
||||
}
|
||||
fileevent $InotifyFP readable [list InotifyReadable $InotifyFP]
|
||||
}
|
||||
|
||||
# Called when inotifywait reports an event. Schedule a calendar update
|
||||
# and daemon reload.
|
||||
proc InotifyReadable { fp } {
|
||||
catch { set num [gets $fp line] }
|
||||
if {$num < 0} {
|
||||
catch { exec kill [pid $fp] }
|
||||
close $fp
|
||||
return
|
||||
}
|
||||
ScheduleUpdateForChanges
|
||||
}
|
||||
|
||||
### Balloon help
|
||||
set Balloon(HelpTime) 400
|
||||
set Balloon(StayTime) 3500
|
||||
|
||||
118
src/rem2ps.c
118
src/rem2ps.c
@@ -5,7 +5,7 @@
|
||||
/* Print a PostScript calendar. */
|
||||
/* */
|
||||
/* This file is part of REMIND. */
|
||||
/* Copyright (C) 1992-2020 by Dianne Skoll */
|
||||
/* Copyright (C) 1992-2021 by Dianne Skoll */
|
||||
/* */
|
||||
/***************************************************************/
|
||||
|
||||
@@ -99,6 +99,7 @@ CalEntry *CurEntries = NULL;
|
||||
CalEntry *PsEntries[32];
|
||||
PageType *CurPage;
|
||||
char PortraitMode;
|
||||
char DaynumRight;
|
||||
char NoSmallCal;
|
||||
char UseISO;
|
||||
|
||||
@@ -140,6 +141,18 @@ void WriteOneEntry (CalEntry *c);
|
||||
void GetSmallLocations (void);
|
||||
char const *EatToken(char const *in, char *out, int maxlen);
|
||||
|
||||
static void
|
||||
put_escaped_string(char const *s)
|
||||
{
|
||||
while(*s) {
|
||||
if (*s == '\\' || *s == '(' || *s == ')') {
|
||||
PutChar('\\');
|
||||
}
|
||||
PutChar(*s);
|
||||
s++;
|
||||
}
|
||||
}
|
||||
|
||||
/***************************************************************/
|
||||
/* */
|
||||
/* StrCmpi */
|
||||
@@ -336,7 +349,7 @@ int main(int argc, char *argv[])
|
||||
!strcmp(DBufValue(&buf), PSBEGIN2)) {
|
||||
if (!validfile) {
|
||||
if (Verbose) {
|
||||
fprintf(stderr, "Rem2PS: Version %s Copyright 1992-2020 by Dianne Skoll\n\n", VERSION);
|
||||
fprintf(stderr, "Rem2PS: Version %s Copyright 1992-2021 by Dianne Skoll\n\n", VERSION);
|
||||
fprintf(stderr, "Generating PostScript calendar\n");
|
||||
}
|
||||
}
|
||||
@@ -587,6 +600,12 @@ void WriteProlog(void)
|
||||
printf("%%%%Pages: (atend)\n");
|
||||
printf("%%%%Orientation: %s\n", PortraitMode ? "Portrait" : "Landscape");
|
||||
printf("%%%%EndComments\n");
|
||||
if (PortraitMode) {
|
||||
printf("<< /PageSize [%d %d] >> setpagedevice\n", x, y);
|
||||
} else {
|
||||
/* They were swapped up above, so swap them back or we'll get rotated output */
|
||||
printf("<< /PageSize [%d %d] >> setpagedevice\n", y, x);
|
||||
}
|
||||
|
||||
for (i=0; PSProlog1[i]; i++) puts(PSProlog1[i]);
|
||||
if (!MondayFirst)
|
||||
@@ -679,7 +698,7 @@ void WriteCalEntry(void)
|
||||
printf("]\n");
|
||||
|
||||
/* Print the day number */
|
||||
printf("(%d)\n", CurDay);
|
||||
printf("(%d) %d\n", CurDay, (int) DaynumRight);
|
||||
/* Do it! */
|
||||
printf("DoCalBox\n");
|
||||
|
||||
@@ -819,6 +838,7 @@ void Init(int argc, char *argv[])
|
||||
FillPage = 0;
|
||||
MondayFirst = 0;
|
||||
SmallLocation = "bt";
|
||||
DaynumRight = 1;
|
||||
|
||||
for(j=0; j<32; j++) PsEntries[i] = NULL;
|
||||
|
||||
@@ -935,6 +955,7 @@ void Init(int argc, char *argv[])
|
||||
|
||||
case 'i': UseISO = 1; break;
|
||||
|
||||
case 'x': DaynumRight = 0; break;
|
||||
case 'c': k=(*s);
|
||||
if (!k) {
|
||||
SmallLocation = SmallCalLoc[0];
|
||||
@@ -979,6 +1000,7 @@ void Usage(char const *s)
|
||||
fprintf(stderr, "-b size Set border size for calendar entries\n");
|
||||
fprintf(stderr, "-t size Set line thickness\n");
|
||||
fprintf(stderr, "-e Make calendar fill entire page\n");
|
||||
fprintf(stderr, "-x Put day numbers on left instead of right\n");
|
||||
fprintf(stderr, "-o[lrtb] marg Specify left, right, top and bottom margins\n");
|
||||
exit(1);
|
||||
}
|
||||
@@ -1054,10 +1076,10 @@ int DoQueuedPs(void)
|
||||
FILE *fp;
|
||||
int fnoff;
|
||||
char buffer[512];
|
||||
char const *size, *extra;
|
||||
char fbuffer[512];
|
||||
char const *size, *fsize, *extra;
|
||||
char const *s;
|
||||
int num, r, g, b, phase, fontsize, moonsize;
|
||||
unsigned char c;
|
||||
|
||||
if (!MondayFirst) begin = CurDay - WkDayNum;
|
||||
else begin = CurDay - (WkDayNum ? WkDayNum-1 : 6);
|
||||
@@ -1129,19 +1151,28 @@ int DoQueuedPs(void)
|
||||
while(*s && isspace(*s)) {
|
||||
s++;
|
||||
}
|
||||
while(*s) {
|
||||
if (*s == '\\' || *s == '(' || *s == ')') {
|
||||
PutChar('\\');
|
||||
}
|
||||
PutChar(*s);
|
||||
s++;
|
||||
}
|
||||
put_escaped_string(s);
|
||||
printf(") show grestore\n");
|
||||
break;
|
||||
|
||||
case SPECIAL_MOON: /* Moon phase */
|
||||
num = sscanf(e->entry+fnoff, "%d %d %d", &phase, &moonsize,
|
||||
&fontsize);
|
||||
/* See if we have extra stuff */
|
||||
extra = e->entry+fnoff;
|
||||
|
||||
/* Skip phase */
|
||||
while(*extra && !isspace(*extra)) extra++;
|
||||
while(*extra && isspace(*extra)) extra++;
|
||||
|
||||
/* Skip moon size */
|
||||
while(*extra && !isspace(*extra)) extra++;
|
||||
while(*extra && isspace(*extra)) extra++;
|
||||
|
||||
/* Skip font size */
|
||||
while(*extra && !isspace(*extra)) extra++;
|
||||
while(*extra && isspace(*extra)) extra++;
|
||||
|
||||
if (num == 1) {
|
||||
moonsize = -1;
|
||||
fontsize = -1;
|
||||
@@ -1163,7 +1194,27 @@ int DoQueuedPs(void)
|
||||
size = buffer;
|
||||
}
|
||||
|
||||
printf("gsave 0 setgray newpath Border %s add BoxHeight Border sub %s sub\n", size, size);
|
||||
/* Store the starting X coordinate in "moonstartx" */
|
||||
if (DaynumRight) {
|
||||
printf("Border %s add /moonstartx exch def", size);
|
||||
} else {
|
||||
printf("xincr Border sub %s sub ", size);
|
||||
if (*extra) {
|
||||
if (fontsize < 0) {
|
||||
fsize = "EntrySize";
|
||||
} else {
|
||||
sprintf(fbuffer, "%d", fontsize);
|
||||
fsize = fbuffer;
|
||||
}
|
||||
printf("/EntryFont findfont %s scalefont setfont (",
|
||||
fsize);
|
||||
put_escaped_string(extra);
|
||||
printf(") stringwidth pop sub Border sub ");
|
||||
}
|
||||
printf("/moonstartx exch def\n");
|
||||
}
|
||||
printf(" gsave 0 setgray newpath ");
|
||||
printf("moonstartx BoxHeight Border sub %s sub\n", size);
|
||||
printf(" %s 0 360 arc closepath\n", size);
|
||||
switch(phase) {
|
||||
case 0:
|
||||
@@ -1174,49 +1225,28 @@ int DoQueuedPs(void)
|
||||
break;
|
||||
|
||||
case 1:
|
||||
printf("stroke\n");
|
||||
printf("newpath Border %s add BoxHeight Border sub %s sub\n",
|
||||
size, size);
|
||||
printf("stroke\nnewpath ");
|
||||
printf("moonstartx BoxHeight Border sub %s sub\n", size);
|
||||
printf("%s 90 270 arc closepath fill\n", size);
|
||||
break;
|
||||
default:
|
||||
printf("stroke\n");
|
||||
printf("newpath Border %s add BoxHeight Border sub %s sub\n",
|
||||
size, size);
|
||||
printf("stroke\nnewpath ");
|
||||
printf("moonstartx BoxHeight Border sub %s sub\n", size);
|
||||
printf("%s 270 90 arc closepath fill\n", size);
|
||||
break;
|
||||
}
|
||||
/* See if we have extra stuff */
|
||||
extra = e->entry+fnoff;
|
||||
|
||||
/* Skip phase */
|
||||
while(*extra && !isspace(*extra)) extra++;
|
||||
while(*extra && isspace(*extra)) extra++;
|
||||
|
||||
/* Skip moon size */
|
||||
while(*extra && !isspace(*extra)) extra++;
|
||||
while(*extra && isspace(*extra)) extra++;
|
||||
|
||||
/* Skip font size */
|
||||
while(*extra && !isspace(*extra)) extra++;
|
||||
while(*extra && isspace(*extra)) extra++;
|
||||
|
||||
/* Anything left? */
|
||||
if (*extra) {
|
||||
printf("Border %s add %s add Border add BoxHeight border sub %s sub %s sub moveto\n", size, size, size, size);
|
||||
printf("moonstartx %s add Border add BoxHeight border sub %s sub %s sub moveto\n", size, size, size);
|
||||
if (fontsize < 0) {
|
||||
size = "EntrySize";
|
||||
fsize = "EntrySize";
|
||||
} else {
|
||||
sprintf(buffer, "%d", fontsize);
|
||||
size = buffer;
|
||||
sprintf(fbuffer, "%d", fontsize);
|
||||
fsize = fbuffer;
|
||||
}
|
||||
printf("/EntryFont findfont %s scalefont setfont (",
|
||||
size);
|
||||
while(*extra) {
|
||||
c = (unsigned char) *extra++;
|
||||
if (c == '\\' || c == '(' || c == ')') PutChar('\\');
|
||||
PutChar(c);
|
||||
}
|
||||
fsize);
|
||||
put_escaped_string(extra);
|
||||
printf(") show\n");
|
||||
|
||||
}
|
||||
|
||||
13
src/rem2ps.h
13
src/rem2ps.h
@@ -5,7 +5,7 @@
|
||||
/* Define the PostScript prologue */
|
||||
/* */
|
||||
/* This file is part of REMIND. */
|
||||
/* Copyright (C) 1992-2020 by Dianne Skoll */
|
||||
/* Copyright (C) 1992-2021 by Dianne Skoll */
|
||||
/* */
|
||||
/***************************************************************/
|
||||
|
||||
@@ -13,7 +13,7 @@ char *PSProlog1[] =
|
||||
{
|
||||
"% This file was produced by Remind and Rem2PS, written by",
|
||||
"% Dianne Skoll.",
|
||||
"% Remind and Rem2PS are Copyright 1992-2020 Dianne Skoll.",
|
||||
"% Remind and Rem2PS are Copyright 1992-2021 Dianne Skoll.",
|
||||
"/ISOLatin1Encoding where { pop save true }{ false } ifelse",
|
||||
" /ISOLatin1Encoding [ StandardEncoding 0 45 getinterval aload pop /minus",
|
||||
" StandardEncoding 46 98 getinterval aload pop /dotlessi /grave /acute",
|
||||
@@ -196,9 +196,10 @@ char *PSProlog2[] =
|
||||
"% Variables for calendar boxes:",
|
||||
"% ytop - current top position",
|
||||
"% ymin - minimum y reached for current row",
|
||||
"% border ytop xleft width textarray daynum DoCalBox ybot",
|
||||
"% border ytop xleft width textarray daynum onright DoCalBox ybot",
|
||||
"% Do the entries for one calendar box. Returns lowest Y-coordinate reached",
|
||||
"/DoCalBox {",
|
||||
" /onright exch def",
|
||||
" /daynum exch def",
|
||||
" /textarr exch def",
|
||||
" /wid exch def",
|
||||
@@ -207,8 +208,10 @@ char *PSProlog2[] =
|
||||
" /border exch def",
|
||||
"% Do the day number",
|
||||
" /DayFont findfont DaySize scalefont setfont",
|
||||
" xl wid add border sub daynum stringwidth pop sub",
|
||||
" yt border sub DaySize sub moveto daynum show",
|
||||
" onright 1 eq",
|
||||
" {xl wid add border sub daynum stringwidth pop sub yt border sub DaySize sub moveto daynum show}",
|
||||
" {xl border add yt border sub DaySize sub moveto daynum show}",
|
||||
" ifelse",
|
||||
"% Do the text entries. Precharge the stack with current y pos.",
|
||||
" /ycur yt border sub DaySize sub DaySize sub 2 add def",
|
||||
" /EntryFont findfont EntrySize scalefont setfont",
|
||||
|
||||
192
tests/test.cmp
192
tests/test.cmp
@@ -857,7 +857,7 @@ set a057 value("a05"+"6")
|
||||
"a05" + "6" => "a056"
|
||||
value("a056") => "SDFJHSDF KSJDFH KJSDFH KSJDFH"
|
||||
set a058 version()
|
||||
version() => "03.03.03"
|
||||
version() => "03.03.04"
|
||||
set a059 wkday(today())
|
||||
today() => 1991-02-16
|
||||
wkday(1991-02-16) => "Saturday"
|
||||
@@ -2426,7 +2426,7 @@ a086 4
|
||||
a109 2012-01-01
|
||||
a128 2018-02-03@16:45
|
||||
a039 "February"
|
||||
a058 "03.03.03"
|
||||
a058 "03.03.04"
|
||||
a077 "1992 92
|
||||
"
|
||||
a096 -4
|
||||
@@ -4392,9 +4392,10 @@ No reminders.
|
||||
%%Pages: (atend)
|
||||
%%Orientation: Landscape
|
||||
%%EndComments
|
||||
<< /PageSize [612 792] >> setpagedevice
|
||||
% This file was produced by Remind and Rem2PS, written by
|
||||
% Dianne Skoll.
|
||||
% Remind and Rem2PS are Copyright 1992-2020 Dianne Skoll.
|
||||
% Remind and Rem2PS are Copyright 1992-2021 Dianne Skoll.
|
||||
/ISOLatin1Encoding where { pop save true }{ false } ifelse
|
||||
/ISOLatin1Encoding [ StandardEncoding 0 45 getinterval aload pop /minus
|
||||
StandardEncoding 46 98 getinterval aload pop /dotlessi /grave /acute
|
||||
@@ -4574,9 +4575,10 @@ def
|
||||
% Variables for calendar boxes:
|
||||
% ytop - current top position
|
||||
% ymin - minimum y reached for current row
|
||||
% border ytop xleft width textarray daynum DoCalBox ybot
|
||||
% border ytop xleft width textarray daynum onright DoCalBox ybot
|
||||
% Do the entries for one calendar box. Returns lowest Y-coordinate reached
|
||||
/DoCalBox {
|
||||
/onright exch def
|
||||
/daynum exch def
|
||||
/textarr exch def
|
||||
/wid exch def
|
||||
@@ -4585,8 +4587,10 @@ def
|
||||
/border exch def
|
||||
% Do the day number
|
||||
/DayFont findfont DaySize scalefont setfont
|
||||
xl wid add border sub daynum stringwidth pop sub
|
||||
yt border sub DaySize sub moveto daynum show
|
||||
onright 1 eq
|
||||
{xl wid add border sub daynum stringwidth pop sub yt border sub DaySize sub moveto daynum show}
|
||||
{xl border add yt border sub DaySize sub moveto daynum show}
|
||||
ifelse
|
||||
% Do the text entries. Precharge the stack with current y pos.
|
||||
/ycur yt border sub DaySize sub DaySize sub 2 add def
|
||||
/EntryFont findfont EntrySize scalefont setfont
|
||||
@@ -4632,7 +4636,7 @@ ifelse
|
||||
Border ytop 6 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(1)
|
||||
(1) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -4664,7 +4668,7 @@ MinX ymin MaxX ymin L
|
||||
Border ytop 0 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(2)
|
||||
(2) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -4672,7 +4676,7 @@ DoCalBox
|
||||
Border ytop 1 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(3)
|
||||
(3) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -4680,7 +4684,7 @@ DoCalBox
|
||||
Border ytop 2 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(4)
|
||||
(4) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -4688,7 +4692,7 @@ DoCalBox
|
||||
Border ytop 3 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(5)
|
||||
(5) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -4696,7 +4700,7 @@ DoCalBox
|
||||
Border ytop 4 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(6)
|
||||
(6) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -4704,7 +4708,7 @@ DoCalBox
|
||||
Border ytop 5 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(7)
|
||||
(7) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -4712,7 +4716,7 @@ DoCalBox
|
||||
Border ytop 6 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(8)
|
||||
(8) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -4774,10 +4778,10 @@ _A BoxHeight _A sub lineto closepath
|
||||
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
|
||||
_A BoxHeight _A sub lineto closepath
|
||||
1 0.8 1 setrgbcolor fill 0.0 setgray
|
||||
gsave 0 setgray newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub
|
||||
Border DaySize 2 div add /moonstartx exch def gsave 0 setgray newpath moonstartx BoxHeight Border sub DaySize 2 div sub
|
||||
DaySize 2 div 0 360 arc closepath
|
||||
stroke
|
||||
Border DaySize 2 div add DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
|
||||
moonstartx DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
|
||||
/EntryFont findfont EntrySize scalefont setfont (20:56) show
|
||||
grestore
|
||||
|
||||
@@ -4831,7 +4835,7 @@ MinX ymin MaxX ymin L
|
||||
Border ytop 0 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(9)
|
||||
(9) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -4839,7 +4843,7 @@ DoCalBox
|
||||
Border ytop 1 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(10)
|
||||
(10) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -4847,7 +4851,7 @@ DoCalBox
|
||||
Border ytop 2 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(11)
|
||||
(11) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -4855,7 +4859,7 @@ DoCalBox
|
||||
Border ytop 3 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(12)
|
||||
(12) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -4863,7 +4867,7 @@ DoCalBox
|
||||
Border ytop 4 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(13)
|
||||
(13) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -4871,7 +4875,7 @@ DoCalBox
|
||||
Border ytop 5 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(14)
|
||||
(14) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -4879,7 +4883,7 @@ DoCalBox
|
||||
Border ytop 6 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(15)
|
||||
(15) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -4949,12 +4953,12 @@ _A BoxHeight _A sub lineto closepath
|
||||
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
|
||||
_A BoxHeight _A sub lineto closepath
|
||||
0.8 1 1 setrgbcolor fill 0.0 setgray
|
||||
gsave 0 setgray newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub
|
||||
Border DaySize 2 div add /moonstartx exch def gsave 0 setgray newpath moonstartx BoxHeight Border sub DaySize 2 div sub
|
||||
DaySize 2 div 0 360 arc closepath
|
||||
stroke
|
||||
newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub
|
||||
newpath moonstartx BoxHeight Border sub DaySize 2 div sub
|
||||
DaySize 2 div 270 90 arc closepath fill
|
||||
Border DaySize 2 div add DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
|
||||
moonstartx DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
|
||||
/EntryFont findfont EntrySize scalefont setfont (14:56) show
|
||||
grestore
|
||||
|
||||
@@ -4997,7 +5001,7 @@ MinX ymin MaxX ymin L
|
||||
Border ytop 0 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(16)
|
||||
(16) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5005,7 +5009,7 @@ DoCalBox
|
||||
Border ytop 1 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(17)
|
||||
(17) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5013,7 +5017,7 @@ DoCalBox
|
||||
Border ytop 2 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(18)
|
||||
(18) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5021,7 +5025,7 @@ DoCalBox
|
||||
Border ytop 3 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(19)
|
||||
(19) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5029,7 +5033,7 @@ DoCalBox
|
||||
Border ytop 4 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(20)
|
||||
(20) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5037,7 +5041,7 @@ DoCalBox
|
||||
Border ytop 5 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(21)
|
||||
(21) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5045,7 +5049,7 @@ DoCalBox
|
||||
Border ytop 6 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(22)
|
||||
(22) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5115,10 +5119,10 @@ _A BoxHeight _A sub lineto closepath
|
||||
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
|
||||
_A BoxHeight _A sub lineto closepath
|
||||
0.8 1 1 setrgbcolor fill 0.0 setgray
|
||||
gsave 0 setgray newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub
|
||||
Border DaySize 2 div add /moonstartx exch def gsave 0 setgray newpath moonstartx BoxHeight Border sub DaySize 2 div sub
|
||||
DaySize 2 div 0 360 arc closepath
|
||||
fill
|
||||
Border DaySize 2 div add DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
|
||||
moonstartx DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
|
||||
/EntryFont findfont EntrySize scalefont setfont (06:02) show
|
||||
grestore
|
||||
|
||||
@@ -5161,7 +5165,7 @@ MinX ymin MaxX ymin L
|
||||
Border ytop 0 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(23)
|
||||
(23) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5169,7 +5173,7 @@ DoCalBox
|
||||
Border ytop 1 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(24)
|
||||
(24) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5177,7 +5181,7 @@ DoCalBox
|
||||
Border ytop 2 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(25)
|
||||
(25) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5185,7 +5189,7 @@ DoCalBox
|
||||
Border ytop 3 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(26)
|
||||
(26) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5193,7 +5197,7 @@ DoCalBox
|
||||
Border ytop 4 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(27)
|
||||
(27) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5201,7 +5205,7 @@ DoCalBox
|
||||
Border ytop 5 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(28)
|
||||
(28) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5209,7 +5213,7 @@ DoCalBox
|
||||
Border ytop 6 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(29)
|
||||
(29) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5279,12 +5283,12 @@ _A BoxHeight _A sub lineto closepath
|
||||
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
|
||||
_A BoxHeight _A sub lineto closepath
|
||||
0.8 1 1 setrgbcolor fill 0.0 setgray
|
||||
gsave 0 setgray newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub
|
||||
Border DaySize 2 div add /moonstartx exch def gsave 0 setgray newpath moonstartx BoxHeight Border sub DaySize 2 div sub
|
||||
DaySize 2 div 0 360 arc closepath
|
||||
stroke
|
||||
newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub
|
||||
newpath moonstartx BoxHeight Border sub DaySize 2 div sub
|
||||
DaySize 2 div 90 270 arc closepath fill
|
||||
Border DaySize 2 div add DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
|
||||
moonstartx DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
|
||||
/EntryFont findfont EntrySize scalefont setfont (07:42) show
|
||||
grestore
|
||||
|
||||
@@ -5327,7 +5331,7 @@ MinX ymin MaxX ymin L
|
||||
Border ytop 0 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(30)
|
||||
(30) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5335,7 +5339,7 @@ DoCalBox
|
||||
Border ytop 1 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(31)
|
||||
(31) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5492,9 +5496,10 @@ showpage
|
||||
%%Pages: (atend)
|
||||
%%Orientation: Landscape
|
||||
%%EndComments
|
||||
<< /PageSize [612 792] >> setpagedevice
|
||||
% This file was produced by Remind and Rem2PS, written by
|
||||
% Dianne Skoll.
|
||||
% Remind and Rem2PS are Copyright 1992-2020 Dianne Skoll.
|
||||
% Remind and Rem2PS are Copyright 1992-2021 Dianne Skoll.
|
||||
/ISOLatin1Encoding where { pop save true }{ false } ifelse
|
||||
/ISOLatin1Encoding [ StandardEncoding 0 45 getinterval aload pop /minus
|
||||
StandardEncoding 46 98 getinterval aload pop /dotlessi /grave /acute
|
||||
@@ -5674,9 +5679,10 @@ def
|
||||
% Variables for calendar boxes:
|
||||
% ytop - current top position
|
||||
% ymin - minimum y reached for current row
|
||||
% border ytop xleft width textarray daynum DoCalBox ybot
|
||||
% border ytop xleft width textarray daynum onright DoCalBox ybot
|
||||
% Do the entries for one calendar box. Returns lowest Y-coordinate reached
|
||||
/DoCalBox {
|
||||
/onright exch def
|
||||
/daynum exch def
|
||||
/textarr exch def
|
||||
/wid exch def
|
||||
@@ -5685,8 +5691,10 @@ def
|
||||
/border exch def
|
||||
% Do the day number
|
||||
/DayFont findfont DaySize scalefont setfont
|
||||
xl wid add border sub daynum stringwidth pop sub
|
||||
yt border sub DaySize sub moveto daynum show
|
||||
onright 1 eq
|
||||
{xl wid add border sub daynum stringwidth pop sub yt border sub DaySize sub moveto daynum show}
|
||||
{xl border add yt border sub DaySize sub moveto daynum show}
|
||||
ifelse
|
||||
% Do the text entries. Precharge the stack with current y pos.
|
||||
/ycur yt border sub DaySize sub DaySize sub 2 add def
|
||||
/EntryFont findfont EntrySize scalefont setfont
|
||||
@@ -5732,7 +5740,7 @@ ifelse
|
||||
Border ytop 6 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(1)
|
||||
(1) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5764,7 +5772,7 @@ MinX ymin MaxX ymin L
|
||||
Border ytop 0 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(2)
|
||||
(2) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5772,7 +5780,7 @@ DoCalBox
|
||||
Border ytop 1 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(3)
|
||||
(3) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5780,7 +5788,7 @@ DoCalBox
|
||||
Border ytop 2 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(4)
|
||||
(4) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5788,7 +5796,7 @@ DoCalBox
|
||||
Border ytop 3 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(5)
|
||||
(5) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5796,7 +5804,7 @@ DoCalBox
|
||||
Border ytop 4 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(6)
|
||||
(6) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5804,7 +5812,7 @@ DoCalBox
|
||||
Border ytop 5 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(7)
|
||||
(7) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5812,7 +5820,7 @@ DoCalBox
|
||||
Border ytop 6 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(8)
|
||||
(8) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5874,10 +5882,10 @@ _A BoxHeight _A sub lineto closepath
|
||||
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
|
||||
_A BoxHeight _A sub lineto closepath
|
||||
1 0.8 1 setrgbcolor fill 0.0 setgray
|
||||
gsave 0 setgray newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub
|
||||
Border DaySize 2 div add /moonstartx exch def gsave 0 setgray newpath moonstartx BoxHeight Border sub DaySize 2 div sub
|
||||
DaySize 2 div 0 360 arc closepath
|
||||
stroke
|
||||
Border DaySize 2 div add DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
|
||||
moonstartx DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
|
||||
/EntryFont findfont EntrySize scalefont setfont (20:56) show
|
||||
grestore
|
||||
|
||||
@@ -5931,7 +5939,7 @@ MinX ymin MaxX ymin L
|
||||
Border ytop 0 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(9)
|
||||
(9) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5939,7 +5947,7 @@ DoCalBox
|
||||
Border ytop 1 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(10)
|
||||
(10) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5947,7 +5955,7 @@ DoCalBox
|
||||
Border ytop 2 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(11)
|
||||
(11) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5955,7 +5963,7 @@ DoCalBox
|
||||
Border ytop 3 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(12)
|
||||
(12) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5963,7 +5971,7 @@ DoCalBox
|
||||
Border ytop 4 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(13)
|
||||
(13) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5971,7 +5979,7 @@ DoCalBox
|
||||
Border ytop 5 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(14)
|
||||
(14) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -5979,7 +5987,7 @@ DoCalBox
|
||||
Border ytop 6 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(15)
|
||||
(15) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -6049,12 +6057,12 @@ _A BoxHeight _A sub lineto closepath
|
||||
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
|
||||
_A BoxHeight _A sub lineto closepath
|
||||
0.8 1 1 setrgbcolor fill 0.0 setgray
|
||||
gsave 0 setgray newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub
|
||||
Border DaySize 2 div add /moonstartx exch def gsave 0 setgray newpath moonstartx BoxHeight Border sub DaySize 2 div sub
|
||||
DaySize 2 div 0 360 arc closepath
|
||||
stroke
|
||||
newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub
|
||||
newpath moonstartx BoxHeight Border sub DaySize 2 div sub
|
||||
DaySize 2 div 270 90 arc closepath fill
|
||||
Border DaySize 2 div add DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
|
||||
moonstartx DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
|
||||
/EntryFont findfont EntrySize scalefont setfont (14:56) show
|
||||
grestore
|
||||
|
||||
@@ -6097,7 +6105,7 @@ MinX ymin MaxX ymin L
|
||||
Border ytop 0 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(16)
|
||||
(16) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -6105,7 +6113,7 @@ DoCalBox
|
||||
Border ytop 1 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(17)
|
||||
(17) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -6113,7 +6121,7 @@ DoCalBox
|
||||
Border ytop 2 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(18)
|
||||
(18) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -6121,7 +6129,7 @@ DoCalBox
|
||||
Border ytop 3 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(19)
|
||||
(19) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -6129,7 +6137,7 @@ DoCalBox
|
||||
Border ytop 4 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(20)
|
||||
(20) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -6137,7 +6145,7 @@ DoCalBox
|
||||
Border ytop 5 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(21)
|
||||
(21) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -6145,7 +6153,7 @@ DoCalBox
|
||||
Border ytop 6 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(22)
|
||||
(22) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -6215,10 +6223,10 @@ _A BoxHeight _A sub lineto closepath
|
||||
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
|
||||
_A BoxHeight _A sub lineto closepath
|
||||
0.8 1 1 setrgbcolor fill 0.0 setgray
|
||||
gsave 0 setgray newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub
|
||||
Border DaySize 2 div add /moonstartx exch def gsave 0 setgray newpath moonstartx BoxHeight Border sub DaySize 2 div sub
|
||||
DaySize 2 div 0 360 arc closepath
|
||||
fill
|
||||
Border DaySize 2 div add DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
|
||||
moonstartx DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
|
||||
/EntryFont findfont EntrySize scalefont setfont (06:02) show
|
||||
grestore
|
||||
|
||||
@@ -6261,7 +6269,7 @@ MinX ymin MaxX ymin L
|
||||
Border ytop 0 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(23)
|
||||
(23) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -6269,7 +6277,7 @@ DoCalBox
|
||||
Border ytop 1 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(24)
|
||||
(24) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -6277,7 +6285,7 @@ DoCalBox
|
||||
Border ytop 2 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(25)
|
||||
(25) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -6285,7 +6293,7 @@ DoCalBox
|
||||
Border ytop 3 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(26)
|
||||
(26) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -6293,7 +6301,7 @@ DoCalBox
|
||||
Border ytop 4 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(27)
|
||||
(27) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -6301,7 +6309,7 @@ DoCalBox
|
||||
Border ytop 5 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(28)
|
||||
(28) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -6309,7 +6317,7 @@ DoCalBox
|
||||
Border ytop 6 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(29)
|
||||
(29) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -6379,12 +6387,12 @@ _A BoxHeight _A sub lineto closepath
|
||||
BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto
|
||||
_A BoxHeight _A sub lineto closepath
|
||||
0.8 1 1 setrgbcolor fill 0.0 setgray
|
||||
gsave 0 setgray newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub
|
||||
Border DaySize 2 div add /moonstartx exch def gsave 0 setgray newpath moonstartx BoxHeight Border sub DaySize 2 div sub
|
||||
DaySize 2 div 0 360 arc closepath
|
||||
stroke
|
||||
newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub
|
||||
newpath moonstartx BoxHeight Border sub DaySize 2 div sub
|
||||
DaySize 2 div 90 270 arc closepath fill
|
||||
Border DaySize 2 div add DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
|
||||
moonstartx DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto
|
||||
/EntryFont findfont EntrySize scalefont setfont (07:42) show
|
||||
grestore
|
||||
|
||||
@@ -6427,7 +6435,7 @@ MinX ymin MaxX ymin L
|
||||
Border ytop 0 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(30)
|
||||
(30) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
@@ -6435,7 +6443,7 @@ DoCalBox
|
||||
Border ytop 1 xincr mul MinX add xincr
|
||||
[
|
||||
]
|
||||
(31)
|
||||
(31) 1
|
||||
DoCalBox
|
||||
/y exch def y ymin lt {/ymin y def} if
|
||||
} def
|
||||
|
||||
Reference in New Issue
Block a user