File: ReadMe.txt

package info (click to toggle)
pcal 4.11.0-4
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,604 kB
  • sloc: ansic: 6,747; csh: 245; makefile: 140; sh: 126; perl: 117
file content (2393 lines) | stat: -rw-r--r-- 103,646 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
Overview:

   'Pcal' is a multi-platform program which generates annotated PostScript or
   HTML calendars in a monthly or yearly format.

   Currently, 'pcal' is supported on the following platforms:

      - Unix (including GNU/Linux)

      - DOS (including DOS running under Windows)

      - DOS + DJGPP

      - DOS/Windows + Cygwin

      - Amiga (untested, as of Dec 2007)

        Amiga support was removed in version 4.10.0 but was restored for
        version 4.11.0.

   Historically, 'pcal' was supported on other platforms as well, but
   beginning with version 4.10.0, support for these platforms has been
   dropped:

      - OS/2
      - Vax/VMS

   'Pcal' is usually run from the command line but there is an HTML/CGI
   capability as well, to generate calendars (in either PostScript or HTML
   format) from a web-browser interface.

   Various settings and events can be defined in an external text file to
   control the appearance of the calendars generated by 'pcal'.  On monthly
   PostScript calendars, one or more EPS (Encapsulated PostScript) images
   (photos, icons, etc) can be displayed on any given day of the month.

   For much more detail on the available options and use of 'pcal', use any of
   the following sources:

      - View the manual page for 'pcal' by running 'man pcal' after
        installation.

      - View any one of the supplied help files:

           'pcal-help.ps' -- PostScript (nicest to view)
           'pcal-help.html' -- HTML
           'pcal-help.txt' -- ASCII text

        These files contain the exact same content as the manual page ('man
        pcal') but in different formats.

      - Run the command 'pcal -h' to get a detailed list of help and
        command-line options.  

        This output is not nearly as thorough as the help sources mentioned
        above, but it can be useful as a brief reminder of the options and
        their usage.

      - Here's a quick, current, alphabetical list of all the 'pcal' options
        and their associated meanings:

           ------------------------------- clip 'n' save -------------------------------
           
           -A  parse American date format		-a  select output language (for months/days)
           -B  don't fill unused day boxes		-b  print day in black
           -C  define centered footer string		-c  generate "calendar" utility input
           -D  define preprocessor symbol & value	-d  select alternate day font
           -E  parse European date format		-e  print empty calendar
           -F  define alternate starting day		-f  select alternate date file
           -G  print day as color-filled outline	-g  print days in special color (default gray)
           -H  generate calendar as HTML table		-h  generate full help message
           -I  re-initialize program defaults		-i  <unused>
           -J  print Julian day and days remaining	-j  print Julian day (day of year)
           -K  prev/next-month in 1st/last box		-k  prev/next-month in 1st 2 boxes
           -L  define left-justified footer string	-l  landscape mode
           -M  print all moons				-m  print new/half/full moons
           -N  define heading for notes box		-n  select alternate notes font
           -O  print day as empty colored outline	-o  select alternate output file
           -P  paper size (letter, legal, a4, tabloid)	-p  portrait mode
           -Q  <unused>					-q  generate yearly-planner style HTML calendar
           -R  define right-justified footer string	-r  remap fonts for 8-bit characters
           -S  suppress small prev/next-month calendars	-s  define date color & fill box shading color
           -T  select typeface for date/note text	-t  select alternate title font
           -U  undefine preprocessor symbol		-u  display parameter usage message
           -V  <unused>					-v  display version ID
           -W  monthly title horizontal alignment	-w  print whole-year/page calendar
           -X  X-axis transformation			-x  X-axis scale factor
           -Y  Y-axis transformation			-y  Y-axis scale factor
           -Z  generate debugging information		-z  specify alternate time zone
           -#  print multiple copies of each page


   The 'pcal' (and 'lcal' [lunar calendar]) homepage is:

      http://pcal.sourceforge.net

      Note: The latest information (including a list of any bugs or problems
      with the latest release) can be found at that website.

   The 'pcal' and 'lcal' applications are available at:
   
      http://sourceforge.net/projects/pcal/

   A section entitled "Guidelines for Application Maintainers" can be found
   here:

      http://pcal.sourceforge.net/maintainers.html

-----------------------------------------------------------------------------
-----------------------------------------------------------------------------

Building 'pcal':

   Unix/Linux (or DOS/Windows + Cygwin):

      make
      make install  (as 'root' user)

   DOS (Borland, etc):

      make -f Makefile.DOS

         Successfully compiles with Borland C++ v5.0 (and probably several
         other earlier/later versions of Borland C++ or Turbo C/C++).

      make -f Makefile.DOS install

   DOS (using DJGPP):

      make OS=DJGPP
      make OS=DJGPP install

-----------------------------------------------------------------------------
-----------------------------------------------------------------------------

"Pcal" Version 4.11.0

   This release of 'pcal' includes additional functionality, some bug fixes,
   and an update of the associated documentation.

   Major changes:

      1) New functionality:

         - Support for the following languages has been added:

              - Slovak ("-a sk")

                Thanks to Zdenko Podobny for this patch and for a new calendar
                configuration file with Slovak holidays ('calendar_sk.txt'),
                which is now included in the 'examples' directory.

              - Hawaiian ("-a ha")

                Thanks to Eric Nichols for this patch.

         - Added a sample Spanish calendar configuration file, with Spanish
           holidays ('calendar_es.txt'), generously provided by Francisco Jos
           Marn Prez.

           Aside: The file was renamed from his original name of
           'calendar_sp.txt' to 'calendar_es.txt', in order to match the
           convention of using ISO 3166 (country codes) for 'pcal' sample
           configuration files.

         - Allow the drawing of moon phase icons ('-m' or '-M') and Julian
           dates ('-j' or '-J') on yearly-format calendars.

           Previously, these features were only allowed on monthly-format
           calendars.  If someone has eyes good enough to see these things,
           they should be allowed to add them to their yearly-format
           calendars! :^)

           Since moon phase icons and Julian dates were automatically disabled
           on yearly-format calendars in older releases, you might be
           surprised to suddenly find these (possibly unwanted) items on your
           yearly-format calendars, assuming you have a 'pcal' configuration
           file (loaded with '-f') with one of those 4 options enabled
           (i.e. 'opt -m', 'opt -M', 'opt -j', and/or 'opt -J').  If you want
           to see moon phases or Julian dates _only_ on your monthly-format
           calendars, simply modify your configuration file(s) to use a check
           such as this:

              # 
              # Display moon phase icons on every day of the month.
              # 
              # Beginning with version 4.11.0, this works on yearly-format (1
              # year per page) calendars too.  But it can be disabled as shown
              # below.
              # 
              ifndef whole_year
                 opt -M
              endif

           Note that the 'pcal-cfg.txt' sample configuration file (distributed
           with 'pcal' in the 'examples' subdirectory) has some examples of
           this too.

         - Added a new preposition -- 'on'.

           The use of this preposition is similar to the existing prepositions
           like 'on_or_before' and 'on_or_after', but it requires that the
           event occur exactly on the specified day.

           Some examples to clarify:

              Sat on Jul 4     Huge party!

                 This example causes the text "Huge party!" to be displayed
                 only if July 4th (for that year) occurs on a Saturday.

              Fri on all 13     Avoid black cats!

                 This example causes the text "Avoid black cats!" to be
                 displayed on Friday the 13th, for every month ("all") in
                 which it occurs.

           This new feature was added based on a request from (and partially
           based on a patch from) Erkki Petsalo.

         - Added a new option -- '-W [ left | center | right ]' -- to specify
           the horizontal alignment of the month/year title displayed at the
           top of monthly-format calendars.
           
           The default is, of course, 'center'.

           Thanks to Todd Foster for providing a complete and thorough patch
           to provide this new feature.  He uses it to avoid splitting the
           month/year label as he cuts a monthly-format calendar apart to fit
           into a 6x9-inch notebook, but this feature might be useful to
           others as well.

         - Per a request from Stefan Haubenthal, who provided a small patch
           and a proper makefile ('Makefile.Amiga'), re-added support for the
           Amiga platform, which had been removed in the last release (due to
           unavailability of someone to test on that platform).

      2) Removed functionality:

         - Removed the long-obsolete external 'moon file' concept.  Now, we
           depend solely on the algorithmic determination of moon phases,
           which has been in place for many years and seems to be plenty
           accurate.

           The 'moon98' file (with manual entries of the dates and times of
           the 4 primary moon phases for all of 1998) was also removed from
           the 'examples' subdirectory, since it no longer serves any purpose.

         - The 'F13' pre-defined event has been removed.  It is unnecessary
           now that 'pcal' has support for the new 'on' preposition (described
           above).

           Replace any occurrence of 'F13' in your configuration file(s) with
           this:

              Fri on all 13

           The 'examples/pcal-cfg.txt' and 'examples/calendar_nl.txt' files
           were altered accordingly, intelligently using a pre-processor
           'ifdef' directive and the pre-defined 'pcal' version symbol ('ifdef
           v4_8_0 | v4_9_0 | v4_9_1 | v4_10_0') to use the appropriate format
           for this event specification, depending upon which version of
           'pcal' is being used.

      3) Bug fixes:

         - Fixed a bug present since the 4.10.0 release of 'pcal' whereby the
           use of the '-J' (capital 'J') option to display both the Julian
           date (day of year) and the number of remaining days in the year
           erroneously caused garbage text (PostScript commands) to appear in
           place of the number of days remaining in the year.

         - Fixed a long-standing bug whereby the last line of a 'pcal'
           configuration file was silently ignored if it ended without a 'line
           feed' (ASCII 10 character).

           Thanks to Thomas Zastrow for reporting this bug.

          - Fixed a long-standing bug in the 'moon phase' calculations.

           This bug only affected the pure DOS build (i.e. made with
           'Makefile.DOS').  It did not affect the Linux/Unix builds or the
           DJGPP-based or Cygwin-based builds.

           This bug was causing the major phases of the moon (new, 1Q, full,
           3Q) to be erroneously detected on 2 adjacent days instead of on
           just the single day on which they actually occurred.

           This in turn caused 2 of the same moon phase icons to appear on
           adjacent days on monthly-format calendars when the '-m' option was
           used.

           Thanks to Eric Nichols who helped to confirm the presence of this
           bug.

      4) Other changes:

         - In the USA calendar example file and the generic 'pcal-cfg.txt'
           example file, commented out the pre-2007 rules for Daylight Saving
           Time (DST) and added new rules for 2007 and beyond.

         - Made some tweaks to the 'examples/pcal-cfg.txt' 'pcal' sample
           configuration file, in some cases to demonstrate more 'pcal'
           functionality.

         - Added the Polish calendar ('examples/calendar_pl.txt'), provided by
           Dominik 'Chiron' Derlatka in the previous 'pcal' release, to the
           release package.

           It had been inadvertently omitted from the 4.10.0 release (but was
           available via CVS checkout since then).

         - Added 2 Unix shell scripts to a new 'scripts' directory in the
           'pcal' distribution:

              - my_daily_reminder_script.sh
              
                This script provides daily email schedule reminders.

              - group_calendaring.sh

                This script allows a simple 'group calendaring' capability.

           These scripts were written and generously provided by Kristofer
           Bergstrom.  They help automate his usage of 'pcal' and should prove
           useful to others.

           Kris' detailed explanation of the usage of these scripts is
           available as a link on the main 'pcal'/'lcal' website, but here's
           the direct link:

              http://pcal.sourceforge.net/scripts.html

         - Modified the Unix makefile to allow use of a user-specified
           destination directory ('$DESTDIR') on the installation step.
    
           For example: 

              make DESTDIR=$HOME/test install
    
           Thanks to "Jonathan" (who's packaging 'pcal' for Gentoo) for this
           idea and a related patch.

         - Made various tweaks and updates to the 'man pcal' page.

           Some of these are intended to provide more guidance and examples in
           the use of 'pcal'.

           Added a long-missing description of the pre-defined symbols for
           paper size and page orientation, which can be used to advantage in
           the 'pcal' configuration file.

         - Fixed up a few errors (wrong credits, etc) and made various
           required changes to previous release notes in this 'ReadMe.txt'
           file.

   Credits:
   
      The original calendar PostScript was Copyright (c) 1987 by Patrick Wood
      and Pipeline Associates, Inc. with permission to modify and
      redistribute.
   
      The following people contributed to Pcal v4.11.0:

         Bug fixes, support for moon icons and 
            Julian dates on yearly-format calendars,
            and various other fixes:			Bill Marr
         Slovak language support and config file:	Zdenko Podobny
         Hawaiian language support:			Eric Nichols
         Spanish config file:				Francisco Jos Marn Prez
         Useful Unix scripts:				Kristofer Bergstrom
         New 'on' preposition:				Erkki Petsalo
         Title alignment option:			Todd Foster
         Amiga support:					Stefan Haubenthal

      For a list of all known contributors to date, see the 'Authors' section
      of the 'man' page.
   
   Bill Marr (marr99@users.sourceforge.net) 
   18 Dec 2007

-----------------------------------------------------------------------------
-----------------------------------------------------------------------------

"Pcal" Version 4.10.0

   This release of 'pcal' includes additional functionality, some bug fixes,
   and an update of the associated documentation.

   Major changes:

      1) New functionality:

         - Support for the following languages has been added:

              - Danish ("-a da")
              - Dutch ("-a nl")
              - Polish ("-a pl")
              - Romanian ("-a ro")

           Thanks to Ewald Beekman, a new calendar configuration file with
           Dutch holidays ('calendar_nl.txt') is included in the 'examples'
           directory.

           Thanks to Dominik 'Chiron' Derlatka, a new calendar configuration
           file with Polish holidays ('calendar_pl.txt') is included in the
           'examples' directory.

      2) Removed functionality:

         - Support for the OS/2, Amiga, and Vax/VMS platforms has been
           removed.

           These platforms are essentially obsolete and the files and code
           needed to accommodate these platforms was cluttering things up and
           interfering with further progress by needlessly complicating the
           code.

           Anyone needing support for these platforms is advised to continue
           using the 4.9.1 release of 'pcal'.

      3) Bug fixes:
   
         - Fixed a couple of long-standing, recently-uncovered bugs in the use
           of the timezone ('-z') option, which is used in the 'moon phase'
           calculations:

              (1) Negative timezone arguments, used for areas east of
                  (i.e. later than) UTC/Greenwich (e.g. '-z-5'), were not
                  being processed correctly. (They were erroneously adjusted
                  by adding a full 24 hours to make them positive.) 

                  Thanks to Lalit Chhabra for reporting this bug.
   
              (2) The user-specified timezone offset was being normalized to
                  +/- 12 hours. 

                  Although this works for the vast majority of users, there
                  are places in the world which are outside that range. For
                  example, Christmas Island (aka 'Kiritimati', in the Pacific
                  Ocean) is in the UTC+14 timezone. The local time there is 14
                  hours ahead of UTC, so the 'pcal' option would be
                  '-z-14'. Obviously, with such places in the world, we can no
                  longer normalize the user-specified timezone offset to +/-
                  12 hours.

         - Fixed a problem whereby certain installations of Cygwin were unable
           to compile 'pcal', due to a namespace collision between the
           'getline()' routine in 'pcal' and the standard C library function
           'getline()'.

           Thanks to Daniela ('Dani') Duerbeck for reporting this and to
           Stefan Fronzek for confirming that the fix worked.

         - Worked around a problem whereby a 'segmentation fault' crash can
           occur when a single entry in the 'pcal' configuration file has more
           than 100 'words' defining an event. Thanks to Eric Herrera for the
           crash report.

           For now, the limit has been increased from from 100 to 300, which
           should solve the problem for the vast majority of 'pcal' users.

      4) Other changes:

         - Eliminated certain compile-time warnings that occur in a "GCC 3.4.2
           + Solaris" build environment, thanks to a report from David Mathog.

           This involved adding a bunch casting operations to the argument of
           certain function calls like 'isdigit()' and 'islower()'.

         - Eliminated the voluminous description of the syntax and operations
           for the 'pcal' configuration file from the 'pcal -h' output,
           leaving just the detailed description of the command-line
           parameters.

           The long description of the use of 'pcal' configuration file was
           somewhat out-of-date and basically just (badly) duplicated the
           content of the 'man pcal' page (or its HTML, PostScript, or ASCII
           equivalent file).

           The 'man pcal' page should be treated as the authoritative
           reference for detailed aspects of 'pcal' operation.

         - Changed the format for the timestamp in the PostScript comment
           output ('%%CreationDate:') to one which is more thorough and less
           ambiguous.

         - Provide the URL to the 'pcal'/'lcal' website in the header
           (comment) section ('%%Creator:') of the PostScript output.

         - In the USA calendar example file, a couple of out-of-date URLs were
           repaired and some erroneous comment information about the date of
           George Washington's birthday was fixed.

      5) Of interest to 'pcal' hackers and installers:

         - Made a major change to 'pcal' design.

           Previously, the PostScript output was generated in part using an
           external program ('pcalinit[.c]') which read the PostScript
           template file ('pcalinit.ps') and automatically generated a C
           header file ('pcalinit.h').

           This old method had a few disadvantages:

              (1) The PostScript output that it generated was ugly, with no
                  whitespace (vertically or horizontally) and devoid of the
                  (useful) comments that were part of the PostScript template
                  file.

                  This made reading the PostScript much harder.

              (2) It was harder to take advantage of patterns in the
                  PostScript output, causing redundancy.

              (3) It was harder to compile (especially as the size of the
                  PostScript template file grew) under limited environments,
                  like DOS.

           The new method generates all the PostScript output using C code
           only.  

           Minor optimizations in the code can be made this way, without
           needlessly replicating similar chunks of PostScript code.  This
           puts some of the logic behind the PostScript output back into C
           code, where it's easier to see what's happening.

           In truth, this change was first made (recently) to the 'lcal'
           application, where the inefficiencies are greater.  Logically,
           however, 'pcal' benefited from the same change.

         - Renamed the 'Makefile' flag 'EPS' to 'EPS_DSC' in order to more
           clearly show its purpose (i.e. to use different PostScript Document
           Structuring Conventions [DSC]) and to avoid confusion with the
           embedded EPS image capability for monthly calendars.

   Credits:
   
      The original calendar PostScript was Copyright (c) 1987 by Patrick Wood
      and Pipeline Associates, Inc. with permission to modify and
      redistribute.
   
      The following people contributed to Pcal v4.10.0:

         Bug fixes, various other fixes:		Bill Marr
         Polish language support:			Dominik 'Chiron' Derlatka
         Dutch language support:			Ewald Beekman
         Romanian language support:			Claudiu Costin
         Danish language support:			Kenneth Geisshirt

      For a list of all known contributors to date, see the 'Authors' section
      of the 'man' page.
   
   Bill Marr (marr99@users.sourceforge.net) 
   06 Aug 2006

-----------------------------------------------------------------------------
-----------------------------------------------------------------------------

"Pcal" Version 4.9.1

   This release of 'pcal' includes no new functionality.  It contains only a
   simple bug fix.

   Major changes:

      1) Bug fixes:
   
         - Fixed a bug which inadvertently slipped into the 4.9.0 release at
           the last minute.

           This bug is only encountered when building for the Unix/Linux,
           OS/2, or DOS+DJGPP environments (i.e. when using the 'Makefile'
           file).  It causes a syntax error if you attempt to install 'pcal'
           using the 'make install' command.

   Bill Marr (marr99@users.sourceforge.net) 
   24 Aug 2005

-----------------------------------------------------------------------------
-----------------------------------------------------------------------------

"Pcal" Version 4.9.0

   This release of 'pcal' includes additional functionality, some bug fixes,
   and an update of the associated documentation.

   Major changes:

      1) New functionality:

         - Added new PostScript encoding vectors to support the following
           character sets:

              - KOI8-R      -- Russian
              - ISO 8859-2  -- Latin2 (East European) 
              - ISO 8859-3  -- Latin3 (South European) 
              - ISO 8859-4  -- Latin4 (North European) 
              - ISO 8859-5  -- Cyrillic 
              - ISO 8859-7  -- Greek 
              - ISO 8859-9  -- Latin5 (Turkish) 
              - ISO 8859-10 -- Latin6 (Nordic) 
              - ISO 8859-11 -- Thai
              - ISO 8859-13 -- Latin7 (Baltic Rim)
              - ISO 8859-14 -- Latin8 (Celtic)
              - ISO 8859-15 -- Latin9 (adds euro, etc)

          Note that not all of these new encodings are currently used, simply
          because a language which requires the use of a given encoding may
          not yet be supported by 'pcal'.  Any of these encodings which are
          not yet used have been added with the intent of simplifying the
          future addition of support for other languages.

          Furthermore, encodings for Arabic (ISO 8859-6), Hebrew (ISO 8859-8),
          and Latin10 (ISO 8859-16) are not currently supported at all, but
          placeholders have been added to the 'pcal' source code to allow
          easier entry of those encodings in the future, if someone comes up
          with the necessary PostScript encoding vectors.

        - Support for the following languages has been added:

             - Czech ("-a cz")
             - Hungarian ("-a hu")
             - Catalan ("-a ca")

        - Russian language support is no longer considered "experimental", now
          that 'pcal' properly supports the KOI8-R character encoding.

          The default encoding for Russian is now KOI8-R instead of KOI8-U
          (which was used in v4.8.0 as a crude, temporary method).

          Latvian and Lithuanian language support is no longer considered
          "experimental", now that 'pcal' properly supports the 'Latin7' (ISO
          8859-13) character encoding.

          The default encoding for both Latvian and Lithuanian is now 'Latin4'
          instead of 'Latin1' (which was used in v4.8.0 as a crude, temporary
          method).

      2) New date file functionality:

         - Based on a patch from Bill Bogstad, added the capability to delete
           specific events, thereby allowing one to exclude one or more events
           that were inserted as a group of events, by using the new 'delete'
           keyword.  

           More details are in the 'man' page.

           The sample configuration file ('examples/pcal-cfg.txt') also
           includes an example of the usage of this new capability.

      3) Other changes:
   
         - Changed the date/event separator character from a space to a tab
           when using the '-c' option (to output text lines which are
           compatible with the Unix 'calendar' program).

           This was done at the behest of a user who found that the space
           character was inadequate as a separator.  In fact, the 'calendar'
           program from a recent stable version (6.0.17) of the Debian
           'bsdmainutils' package proves that the space character is truly
           inadequate as a separator when running 'pcal -c > pcal-output.txt;
           calendar -f pcal-output.txt'.

         - Added a Perl script ('html/pcal.pl') from David Mathog which is an
           alternate way (compared to the existing 'pcal.cgi' Bourne shell
           script) to generate calendars via HTML/CGI.

         - Now that new character encodings are available, the default
           Greek-language character encoding was changed from 'Latin-1' (ISO
           8859-1) to 'Greek' (ISO 8859-7) to prevent having to specify '-r
           none' in order to get a usable Greek calendar.

          - Added new 'pcal' calendar configuration files to the 'examples/'
            directory: 

               - 'calendar_us.txt'

                 This example, provided by J. Rhett Hooper, contains events
                 for users in the USA.

               - 'calendar_hu.txt'

                 This example, provided by Ferenc Kruzslicz, contains events
                 for users in Hungary.

          - Now that the Latin3 (ISO 8859-3) character encoding is provided,
            there's no need to use the previous (customized) method of
            supporting the Esperanto language.  Because of this, the custom
            'Esperanto' encoding has been eliminated.

            Esperanto speakers/users should now just use the standard 'Latin3'
            (ISO 8859-3) characters, which fully support the unique characters
            in the Esperanto language.

            This change cleans up the code in several spots.

          - Tweaked several of the sample calendar configuration files in the
            'examples/' directory to not specify any fonts.  

            The specification of fonts is better left to the command line,
            since the necessary fonts to display/print a given language's
            calendar will undoubtedly differ amongst various users.

          - Added several new 'examples/fonttest_*' files to support testing
            of the various character encodings.  These 'font test' files can
            be used as shown in this example to check any of your fonts for
            use with the specified character encoding:

               pcal -f examples/fonttest_koi8r -n some_koi8_fontname

            Renamed old 'examples/fonttest_x' files to be more explicit,
            thereby avoiding confusion with newly-added 'fonttest' files.

         - Fixed a long-standing misrepresentation of the Spanish word for
           'Saturday'.  The word is 'Sbado', but the acute accent on the
           first 'a' was missing.

         - Fixed misrepresentations of the Lithuanian word for 'August' and
           the Latvian words for 'June' and 'July'.  Since these languages
           were added in the previous release, these months erroneously used a
           'u'+circumflex instead of the proper 'u'+macron.

      4) Bug fixes:
   
         - Fixed a bug introduced in version 4.8.0 whereby the specification
           of a plural form of the day-of-week name was not being properly
           detected, reporting an 'unrecognized line in file' error.  Here's
           an example:

              all Fridays in Oct  xxxxx

           Thanks to Pedro I. Sanchez <pedro.sanchez at rogers.com> for
           reporting this bug.

           A work-around for this bug was to simply change the plural form to
           the singular form (e.g. "Fridays" to "Friday" or just "Fri").

         - Fix a long-standing bug whereby a centered "footer" specification
           with 'strftime()'-like date specifiers used in an HTML yearly
           calendar was using/showing the correct date values for the HTML
           'title' but the wrong date values for the centered header string at
           the start of the actual displayed (HTML) content.

      5) Documentation changes:
   
         - Added an entry to this 'ReadMe.txt' file in the v4.8.0 'Bug fixes'
           section due to a last-minute v4.8.0 change to fix a couple of
           security holes which accidentally went undocumented in this file.

         - Various updates throughout.

      6) Of interest to 'pcal' hackers and installers:

         - All PostScript encoding vectors used to define the various
           character encodings were defined as 'readonly'. This is mostly a
           cosmetic change rather than a functional change.

         - Made changes to the 'Makefile.DOS' file to accommodate the separate
           directories for the source, the objects, and the executables.  That
           change should have been part of the v4.8.0 release but was
           accidentally neglected.

           Make further changes to the DOS build process (via 'Makefile.DOS'):

              - Define '-DEPS' so that EPS-compatible PostScript is generated,
                just like has been done for the Unix build for a while.  This
                allows PostScript utilities to process pages more
                intelligently (e.g. so that a preview utility can page up and
                down properly).

              - Define several compile-time flags to prevent certain warnings.

              - Define the '-DPROTOS' compile-time flag to include full
                prototypes, thereby preventing many warnings about 'missing
                prototype'.

              - Define the '-DSTDLIB' compile-time flag to prevent warnings
                about multiply-defined prototypes.

         - To enhance compatibility with the Debian GNU/Linux distribution,
           made a change to the (Unix, OS/2, DOS+DJGPP) 'Makefile' file
           (specifically, to the 'D_SEARCH_PCAL_DIR' variable) to default to
           _not_ searching the directory with the 'pcal' executable file when
           searching for the 'calendar' ('pcal' configuration) file.

         - Made a minor change to the (Unix, OS/2, DOS+DJGPP) 'Makefile' file
           based on a patch from Thiago F.G. Albuquerque to prevent an error
           when building in the DOS+DJGPP environment when the directory
           specified by 'CATDIR' does not exist.

         - Remove obsolete comment in the 'Makefile' file about separate
           directories for the source, the objects, and the executables.  This
           comment was accidentally left in place for the v4.8.0 release.

         - In 'pcallang.h', to be consistent, converted all high-order
           characters in the language string specifications to simple octal
           format, to match the octal format used in the PostScript encoding
           vector specifications of 'pcalinit.ps'.  This makes it easier to
           edit the 'pcallang.h' file in any editor.  It also makes checking
           of the language strings against the character encodings simpler.

   Credits:
   
      The original calendar PostScript was Copyright (c) 1987 by Patrick Wood
      and Pipeline Associates, Inc. with permission to modify and
      redistribute.
   
      The following people contributed to Pcal v4.9.0:

         Bug fixes, 12 new character encodings,
            language support, various other fixes:	Bill Marr
         Event deletion capability:			Bill Bogstad
         Czech language support:			Peter Cernoch
         Hungarian language support:			Ferenc Kruzslicz
         Catalan language support:			Carles Sadurn Anguita
         Perl script for HTML/CGI:			David Mathog
         US example calendar:				J. Rhett Hooper
         DOS/DJGPP build fix/support:			Thiago F.G. Albuquerque

      For a list of all known contributors to date, see the 'Authors' section
      of the 'man' page.
   
   Bill Marr (marr99@users.sourceforge.net) 
   18 Aug 2005

-----------------------------------------------------------------------------
-----------------------------------------------------------------------------

"Pcal" Version 4.8.0

   This release of 'pcal' includes additional functionality, some bug fixes,
   and a thorough update of the associated documentation.

   Major changes:

      1) New functionality:

         - A method of adding Encapsulated PostScript (EPS) images to any
           given day(s) on a monthly-format calendar has been incorporated.

           Now you can have (e.g.) photos of a person on their birthday and/or
           icons for various holiday events, etc.

           For details, see the expanded documentation in the 'man' file, but
           briefly, to add an EPS image (photo, icon, etc) to a day, use an
           event entry like this (for the Thanksgiving holiday event):

              4th Thu in Nov*   image:/eps-path/turkey.eps 1.0 1.0 0 0

           The 'image:' text is a keyword which precedes the EPS image
           filename.  As shown, a path to the file can be specified.
              
           The first 2 values after the EPS image name are X/Y scaling values,
           in case the output of the EPS file is not sized properly (which is
           almost always the case) to fit in the 'day box'.  The last 2 values
           are X/Y translations, in case you want to move the EPS image around
           within the 'day box'.

           Note: Your EPS images will not be directly usable!  As a minimum,
           you'll first need to remove/comment-out the PostScript 'showpage'
           command near the end of the EPS image file!  Depending upon the
           source of the EPS image, you may also want to remove/comment-out
           some of the PostScript 'translate' commands too.

           Again, much more information about all this can be found in the
           'man' page for 'pcal', so please read that first!

           A sample EPS image (the 'recycle' icon, with 3 green arrows in a
           circle) has been provided with the 'pcal' distribution (under the
           'eps/' directory) as a quick way to test the EPS image embedding
           capability on one of your calendars.  This file was converted from
           a '.WMF' image file (using the 'libwmf'/'wmf2eps' library/utility
           mentioned in the 'man' file) and the string '%%% DISABLED: ' was
           prepended in 3 spots to disable the PostScript 'translate' and
           'showpage' commands associated with those lines.  This file is
           intended as a guide for what needs to be done to make your own EPS
           images usable by 'pcal'.

           To test with this sample EPS icon, add lines like these to your
           'pcal' configuration file:

              second Sat in all  RECYCLE!
              second Sat in all  image:/path-to-eps/recycle.eps 0.029 0.029 66 -28

          With the provided X/Y scaling and X/Y translation values, it should
          place the symbol in the lower right corner of the 'day box',
          assuming you're using letter-sized paper and landscape orientation
          on a monthly calendar.

        - Support for 'legal' (8.5 x 14.0 inch) and 'tabloid' (11.0 x 17.0
          inch) paper has been added.  

          Specifying the paper size is now done differently than in the past.
          See the section 'New command-line options' (below) for details.

        - Added new automatically-defined symbols based on the current paper
          size:

             - "PAPERSIZE_LETTER"
             - "PAPERSIZE_LEGAL"
             - "PAPERSIZE_A4"
             - "PAPERSIZE_TABLOID"

          These can be useful for providing alternate values in the 'pcal'
          configuration file for EPS image placement and scaling, based on
          paper size.

        - Added new automatically-defined symbols based on the current page
          orientation:
      
             - "ORIENTATION_PORTRAIT"
             - "ORIENTATION_LANDSCAPE"
      
          These can be useful for providing alternate values in the 'pcal'
          configuration file for EPS image placement and scaling, based on the
          page orientation.

        - Support the definition of a symbol value along with a symbol name in
          'define' pre-processor directives in the 'pcal' configuration file.

          For example:

             define sem_start 8/23  # Beginning of semester
             sem_start                 CIS136 Start
             7th  day after sem_start  CIS136 Quiz 1
             14th day after sem_start  CIS136 Quiz 2
             undef sem_start

          This capability came from an unknown author via the Debian Bug
          Tracking System for 'pcal'.  It was somewhat buggy in the Debian
          implementation, but was (completely?) repaired prior to inclusion in
          this release of 'pcal'.
             
        - Support for the following languages has been added:

             - Swedish ("-a sv")
             - Ukrainian ("-a uk")
             - Portuguese ("-a pt")
             - Estonian ("-a et")
             - Russian ("-a ru")
             - Latvian ("-a lv")
             - Lithuanian ("-a lt")

           Note: The support for Russian, Latvian, and Lithuanian is
           considered "experimental".  The day-of-week names and month names
           have been provided for these languages, but the character encodings
           have not been provided.  Russian support has been set up to use the
           KOI8-U (Ukrainian) character encoding instead of the KOI8-R
           encoding that it should use.  Latvian and Lithuanian support have
           been set up to use the Latin-1 (ISO-8859-1) encoding instead of the
           ISO-8859-13 character encoding that they should use.  From a
           practical standpoint, this probably means that these languages will
           appear mostly correct (i.e. for characters which can be
           displayed/printed in the encoding used) but will not be 100%.
           Patches would be gratefully accepted from anyone with the expertise
           to provide the necessary character encodings!

           UPDATE: 

              As of 'pcal-4.9.0', Russian, Latvian, and Lithuanian language
              support is no longer considered "experimental" due to the
              addition of the proper character encodings for those languages.
              See the 'pcal-4.9.0' release notes (above) for details.

         - Substantial changes were made to the HTML user interface used to
           generate calendars.

           Added the appropriate option for the (already-existing) Finnish
           language support.

           Changed the 'Language:' selection in HTML calendar generation files
           ('pcal.html' and 'pcalw.html') to support the new languages.  Also,
           make this a 'drop-down' list instead of a series of 'radio
           buttons', which makes for a cleaner interface now that there are 12
           language options.

           Added a new 'Paper Size' option to correspond to the new '-P'
           option to 'pcal'.
      
           Changed the description of the last option ('Holidays:') to 'Bypass
           Date File Processing:' to more accurately reflect what it really
           does!  Changed the interface for this item to a 'check box' instead
           of 2 'radio buttons' to match common user interface guidelines and
           to clean-up the interface.
      
           Changed references to 'gray' date numerics to instead say "'date
           shade' color (default = gray)" to reflect the fact that a user can
           override the 'grey' default color in his/her 'pcal' options file
           (via the 'opt -s ...'  command/switch).
      
           Provide a new 'default' option for all the 'Day Numerics' (Weekday,
           Sat/Sun, Holiday) selection sets.  This allows the CGI script to
           bypass the specification of the '-g', '-O', '-G', and '-b' options.
           This is needed because of odd interactions between these switches
           which prevented the creation of a simple colored calendar.  For
           example, there was no way to generate a monthly or yearly calendar
           with the defaults (Mon-Fri in black, Sat/Sun in the 'date shade'
           [gray by default] color, and holidays in the 'date shade' [gray by
           default] color, even though this is the common case when PostScript
           calendars are generated from the command line version of 'pcal'.
      
           Make separate entries for 'day numerics' font and 'title (etc)
           font' to the user interface since these are distinct and therefore
           separately controllable in 'pcal'.  Previously, whatever font the
           user selected was used in both cases.
      
           Overhauled each group of 'radio buttons', changing from a
           horizontal set of options (which was long and difficult to discern
           for some entries) to a nicer, more-readable set of
           vertically-aligned options in a clean, captioned table for each
           group of radio buttons.
      
           Provide the user interface option to generate HTML-format calendars
           instead of PostScript-format calendars.
      
      2) New command-line options:

         - In the past, the paper size could only be specified via the
           'Makefile', which required recompiling if you wanted to change
           paper sizes.  This is somewhat bothersome, but even more so now
           that 'pcal' supports more paper sizes (i.e. not just 'letter' and
           'A4').

           Beginning with this release of 'pcal', a new '-P' option is now
           supported to declare the 'paper size'.  This option takes a value
           which can be any of the following (case-insensitive) values:

              - "letter"
              - "legal"
              - "a4"
              - "tabloid"

           This option can be specified using any of the 3 methods: (1) via
           the 'PCAL_OPTS' environment variable, (2) via the 'pcal'
           configuration file (aka '.calendar', aka the 'date' file), or (3)
           via the command line itself.
   
      3) New date file functionality:

         - Added support for "Friday the 13th" events.  Use the keyword 'F13'
           on the event specification.  For example:

              F13   Avoid black cats!
   
         - Added a new 'input-language' directive for the 'pcal' configuration
           file.  It takes a single parameter -- the 2-letter version of the
           ISO 639 (language code) standard.  This 'input language' will be
           used when deciphering any month names and/or day-of-week names when
           processing the event entries in the 'pcal' configuration file.  The
           default language is currently the same as the default 'output'
           language (English).
      
           An example entry in the 'pcal' configuration file:
      
              input-language fr   # interpret event dates in French

           In previous versions of 'pcal', which had no concept of 'input' and
           'output' languages, both the default language (English) and the
           currently-selected ('output') language were checked when parsing
           and checking for month names and day-of-week names during event
           processing.  For the same reason as the creation of this new
           'input-language' directive (i.e. to avoid conflicts), the default
           language is no longer checked in addition to the current (input)
           language.  Only the current 'input' language is checked.

           Note that the input language only makes sense in the 'pcal'
           configuration file, so it can only be specified there.

           Note also that the 'input language' can be changed as needed at any
           time during processing of the 'pcal' configuration file, for the
           rare case where someone has multiple language event definitions
           within the same file.

      4) Other changes:
   
         - The 2-letter language code for Greek was re-assigned from 'gr' to
           'el' to be compatible with ISO 639 (2-letter and 3-letter language
           codes).
      
           This means that you need to (for example) use '-a el' on the 'pcal'
           command line to generate a Greek-language calendar rather than the
           old '-a gr'.

         - Added the '-p' and '-l' flags ('portrait' and 'landscape' paper
           orientations) to the list of those processed from the command line
           prior to the processing of the 'pcal' configuration file.
      
           This is needed so that directives like 'ifdef ORIENTATION_PORTRAIT'
           in the configuration file work as expected.

         - Fixed a flaw in the sizing of calendars generated in the 'portrait'
           page orientation.  They were not using as much of the physical page
           space as they should have been.

         - Collected all sample 'calendar options' files for various countries
           (some which were on the 'pcal' website or in the mailing list
           archives but weren't part of the actual distribution) and named
           them all 'calendar_XX.txt' where 'XX' is the 2-letter country name
           code based on the ISO 3166 standard.  This required a change to the
           Greek ('gk' to 'gr') and Estonian ('et' to 'ee') 2-letter codes
           used in the filenames.
      
           Since 'pcal' can be run under DOS, converted sample 'calendar
           options' files from Unix-style to DOS-style line-endings (as
           needed) for maximum portability.
      
         - The '%a' format specifier (which is used to represent the
           abbreviated day-of-week name [e.g. 'Wed']) was using a simplified
           method of generating the abbreviated name from the full name -- by
           using just the first 3 characters.

           With the addition of Ukrainian and (later) Estonian language
           support, this simple scheme became inadequate because those
           languages don't use 3-character abbreviations for the day-of-week
           names.

           Instead, a new array (with entries for each supported language) of
           the abbreviated day-of-week names was created.  The '%a' format
           specifier uses this new array to derive abbreviated day-of-week
           names.
      
      5) Bug fixes:
   
         - Fixed a design flaw whereby certain languages (like Italian,
           French, Esperanto, and Spanish) which have a day-of-the-week name
           with the same first 3 letters as a month name can cause problems
           detecting events in the 'pcal' configuration file.
      
           Aside: When parsing unknown tokens, day-of-week names are compared
           before month names.
      
           For example, French has the day 'Mardi' (Tuesday) and the month
           'Mars' (March).  Finnish has the day 'Maanantai' (Monday) and the
           month 'Maaliskuu' (March). The following event in the configuration
           file will yield an error because the string intended as an
           abbreviated month name 'Mar' (for 'Mars'/March) is erroneously
           interpreted as a weekday name 'Mardi':
      
              Mar 21   Event for March 21st
      
           It should be possible to specify the full month name ('Mars') to
           avoid the conflict, but 'pcal' was only examining the first 3
           letters of the weekday names when looking for a matching token.
      
           The code which looks for matching weekday names has now been
           modified to use the full length of the specified token string from
           the configuration file, which allows one to specify the full name
           of the month to avoid any conflict.
      
           Note: A similar change was made to the month name comparison,
           because an event of 'Mars 21' (French) was being erroneously
           detected in an English-language setting!  This ties in with the new
           'input-language' directive (described above).
      
         - Fix bug whereby 'Holidays:' option in 'pcalw.html' was using older,
           incorrect name, causing that option to be completely ignored.

         - Fixed the bug (present since v4.7.1 of 'pcal', and previously
           documented on the 'pcal' website) whereby use of the '-q' option to
           generate 1-column-per-month HTML output required one to use the '-F
           1' flag to force the day-of-week to begin with 'Monday'.  This
           restriction is now removed and one can generate HTML
           1-column-per-month calendars with any value for the '-F' flag (or
           without using the '-F' flag at all).

         - Fixed a couple of security holes whereby a malicious calendar file
           (e.g from an external source) could cause an exploitable buffer
           overflow attack.

      6) Documentation changes:
   
         - Made major changes to the 'pcal.man' file to bring it up-to-date
           and make it more useful and/or readable, both in raw format and as
           a rendered 'man' page.

           Those changes are described in detail in a newly-added comment
           section at the beginning of that file, which acts as a 'ChangeLog'
           section.  See that file for details.

         - Provided a new sample 'pcal' configuration file ('pcal-cfg.txt') in
           the new 'examples/' subdirectory.

           This file attempts to demonstrate the various features that are
           possible with 'pcal' in a manner which is well-documented and can
           be easily incorporated by others into their own 'pcal'
           configuration file(s).  It was created with the idea that "an
           example (or two, or three) is worth a thousand words".

           Among other things, it demonstrates the use of various format
           specifiers, the use of the 'Notes' box, the use of pre-processor
           directives and conditional processing, and the use of some
           predefined events.

         - Removed the 'Pcal.hlp' file, which was essentially just a duplicate
           of the 'pcal.man' content in a human-readable form.  The content of
           the 'pcal.man' file is intended to be pre-rendered (by the 'pcal'
           maintainer / release manager) into other human-readable forms
           (PostScript, HTML, ASCII text) as described in the 'Overview:'
           section at the beginning of this file.

           Now, there are essentially just 2 files which need to be updated to
           document 'pcal' operation: 'pcal.man' and 'ReadMe.txt'.

           Renamed 'ReadMe' to 'ReadMe.txt' and merged all the old versions of
           'ReadMe.4.x' into that single file for clarity, consistency, and
           ease of access.
      
         - Moved old 'pscalendar' file into the new 'doc/obsolete/' directory
           since it only has historical significance.
      
      7) Of interest to 'pcal' hackers and installers:

         - Created new subdirectories to better organize the 'pcal'
           distribution files:
      
              - 'src/'
      
                 all 'pcal' source code (*.c, *.h, *.ps)
      
              - 'obj/'
      
                 empty subdirectory which will contain all object code and the
                 single C header file ('pcalinit.h') which is auto-generated
                 at compile time
      
              - 'exec/'
      
                 empty subdirectory which will contain all executable code
                 ('pcal[.exe]' and 'pcalinit[.exe]')

              - 'doc/' and 'doc/obsolete/'
      
                 various documentation (current and historical)
      
              - 'examples/'
      
                 several sample 'calendar options' files, mostly for various
                 holidays in each of several countries; also includes various
                 'calendar options' files used to test the fonts and character
                 mappings
      
              - 'html/'
      
                 files used to generate calendars using the HTML/CGI (web
                 browser) interface
      
         - Added build instructions for the various platforms that 'pcal'
           supports to this file ('ReadMe.txt').

         - Added a new compile-time flags setting ('CFLAGS = -O2 -Wall -W') to
           the Unix 'Makefile'.  The first 2 of those flags were already in
           the OS/2 'make' file (which was almost identical to the Unix
           'Makefile'), but for some unknown reason they were not in the Unix
           'Makefile'.

           Added a brief description of each flag ('-O2' and '-Wall' and '-W')
           used on the 'CFLAGS = ...' line to the Unix 'make' file.

           For those not familiar with these flags, '-O2' provides code
           optimization, '-Wall' enables many compile-time warning messages,
           and '-W' enables more compile-time warning messages.
           
           Made several minor code modifications to prevent the compile-time
           warning messages that resulted from enabling those flags.

         - Merged the OS/2 'make' file ('Makefile.os2') into the Unix 'make'
           file ('Makefile').  These files were almost identical and did not
           merit separate files.

           Added support for the DOS+DJGPP environment to this same file.

           Use these commands:

              Unix/Linux: make

              OS/2: make OS=OS2

              DOS+DJGPP: make OS=DJGPP

         - Added a (commented-out) '# PACK = gzip' option in the Unix 'make'
           file for those who don't have the 'compress' utility.

         - Modified the existing 'man' target in the Unix 'make' file
           ('Makefile') to generate the content of the 'pcal' 'man' page in
           HTML, PostScript, and raw text formats.
      
           Before a new release of 'pcal', the 'pcal' maintainer should run
           'make man' to generate these help files.

           These files should also be placed on the 'pcal' website, since the
           main page provides links to these files.

         - Removed Control-L ('^L', page eject) characters from C and
           PostScript source code.  Who puts that in source files?!?
      
         - Remove obsolete, unused targets and definitions (used to compress
           and 'uuencode' the source) from Unix and OS/2 'Makefile' files.
      
         - Changed 'find_sym()' routine to 'find_sym_name()' to be distinct
           from new 'find_sym_val()' routine in code searches.
      
         - Removed extraneous files from previous distribution ('Makefile~'
           and 'pcal' [pre-built DOS executable binary file]).  If anyone
           really needs a pre-built 'pcal.exe' DOS executable file, it can
           always be provided separately on the project webpage.
      
         - Change sense of and provide proper comment for 'SEARCH_PCAL_DIR'
           flag setting in Unix and OS/2 'make' files.

         - Provide comments in the 'Makefile' for the '-DEPS' option,
           describing what it does and why it's useful.
      
         - Removed executable permission from various text files:
      
              moon98 Readme writefil.c Pcal.hlp
              
           In general, fixed up the permissions on several files.  For
           example, some makefiles had 'rw' permission and others had just 'r'
           permission!
            
         - Changed the misleading name of array 'holidays[]' to
           'predef_events[]' to reflect the fact that this is a list of
           'predefined events', which are often, but not necessarily, holiday
           events.  For example, this includes the new 'Friday the 13th'
           events, which, like every other event in this array, are not
           treated as a 'holiday' event unless the user specifies a '*' after
           the date portion of the event specification in the 'pcal' options
           file.
         
         - Converted the 'Makefile.DOS' file from Unix-style line-endings to
           DOS-style.

           Tweaked the same file to successfully compile under MS-DOS using
           the Borland C++ v5.0 compiler.
      
   Credits:
   
      The original calendar PostScript was Copyright (c) 1987 by Patrick Wood
      and Pipeline Associates, Inc. with permission to modify and
      redistribute.
   
      The following people contributed to Pcal v4.8.0:

         EPS images, 'paper size' option, 
            new paper sizes, HTML UI update,
            various other fixes:			Bill Marr
         "Friday the 13th" events:			Don Laursen
         Swedish language support:			Joel Fredrikson
         Ukrainian language support:			Volodymyr M. Lisivka
         Portuguese language support:			Pedro Zorzenon Neto
         Estonian, Russian, Lithuanian, and 
            Latvian language support:			Neeme Praks
         Enhanced 'define' capability:			unknown (requested by 
                                                        Louis Taber)
         French example calendar:			Valry Bruniaux
         DOS/DJGPP build support:			Thiago F.G. Albuquerque
         Detection of security holes:			Danny Lungstrom

      For a list of all known contributors to date, see the 'Authors' section
      of the 'man' page.
   
   Bill Marr (marr99@users.sourceforge.net) 
   15 Dec 2004

-----------------------------------------------------------------------------
-----------------------------------------------------------------------------

"Pcal" Version 4.7.1

This is a new release of "Pcal", the PostScript calendar program. It has
minor changes to the 4.7 version: the -q flag that allows the printing of
a yearplanner and an additional Finnish languages support with the -a flag.

The -q flag gives prints out as one column per month resulting in table
that gives a quicker overview over several months and which can be used
as a yearplanner. As a yearplanner obviously has less space for text, only
the first character of the weekday and the first 5 characters of each calendar
entry are printed. Holidays are marked red but the text of the calendar
entry is not printed. The yearplanner gives output at the moment only in
HTML and therefore has effect only when used the -H flag.

To print a half-yearplanner of the first six months:
pcal -H -q 1 2003 6 > yearplanner_I_2003.html

The Finnish language is switched on with "-a fi".

For more general information see the readme-file of version 4.7 below.

Stefan Fronzek (stefan@fronzek.akshor.com), January 15 2003

-----------------------------------------------------------------------------
-----------------------------------------------------------------------------

"Pcal" Version 4.7

This is a new release of "Pcal", the PostScript calendar program.  The major
new features are the "-H" flag for generating output in HTML table form,
expansion of "%y" in the "include" filename into the last two digits of
every applicable year in "year all" mode, and the addition of build-time
support for A4 size paper.

Major changes:

    1) Of interest to Pcal hackers and installers:

      .	Automatically looking for the calendar file in the directory where
	the Pcal executable lives (Un*x only) is not a Good Thing when there
	is already another executable named 'calendar' in the same directory.
	This feature is now optional and may be disabled by #define'ing
	SEARCH_PCAL_DIR as 0 in pcaldefs.h (or in the Makefile).

      .	The obsolete PRT() and FPR() macros have been scrapped and replaced
	with simple calls to printf() and fprintf().

      .	The installer can specify different default output file names for
	PostScript and HTML output (cf. pcaldefs.h) on those systems (VMS,
	Amiga) where output is automatically directed to a file.

      .	In case anyone still uses moon files, moon96 and moon97 have been
	deleted and moon98 added.  There are no plans to support moon99.

      .	Support for OS/2 (new Makefile.os2, revised pcallang.h) has been
	added.

      .	Cleaned up most gcc warnings in "-Wall" mode.  This effort revealed
	one long-unnoticed bug (see below).

      .	Realigned the page so that the top of the calendar boxes is now the
	Y origin (instead of 35); the origin had not previously corresponded
	to any physical feature on the page.  Note that this changes the
	default value for the little-used -Y flag from -120 to -85.

      . Revised Makefile for use in cross-build environment: PCALINIT_CC
	defines the host compiler for building pcalinit; CC defines the
	cross-compiler for building pcal itself.  For native builds (i.e.,
	host == target), these are the same.

      .	Dropped the "EPSF" designator in the initial PostScript comment
	since the output is not truly EPS.  The special "%%" comments used
	by some previewers (e.g., ghostview) are still generated when
	built with -DEPS.

      .	Added support for A4 size paper at build time; see below.


    2) New command-line options:

      .	Pcal now supports the -H flag to generate calendars in HTML table
	format.  Most of the other flags are overridden or ignored in HTML
	mode (moons, note text, Julian dates, small calendars, date
	color/style, scaling/transformation, font selection, left/right
	footstrings), but one is overloaded in an appropriate manner: the
	string specified by the -C flag (PostScript center footstring) is
	used as the page title and as a centered page heading.

	Other HTML formatting details - minimum lines per box, color and
	format of holidays, etc. - can be configured at build time (see the
	various Makefiles and pcaldefs.h), but not on the command line.
	The latter is theoretically possible, but would require either a)
	using up the remaining single-letter flags (all six of them), b)
	supporting multiple-letter flags (as per many of the GNU utilities),
	or c) overloading even more of the existing flags - none of which is
	particularly appealing.

	As of the 6/19/98 release, the "-w" flag in conjunction with "-H"
	generates HTML whole-year calendars in a multicolumn format similar
	to the PostScript equivalents.  "-l" and "-p" may be used to specify
	landscape or portrait mode, respectively.  Pcal normally prints only
	five weeks per row unless at least one month in the row requires six;
	to print six weeks all the time, build with -DCONSISTENT_SPACING .

      . Pcal now supports a numeric (0-6) argument for the -F (first day of
	week) flag, thus allowing this to be specified independently of
	selected language.


    3) New date file functionality:

      .	Pcal attempts to be somewhat smart about converting simple HTML
	tags (`<b>', '<i>', etc. to PostScript bold/italic fonts, and
	`&nbsp;' etc. to ASCII) when generating non-HTML output from a
	date file containing these tags.

      .	In "year all" mode, the "include xxx%y" directive expands to include
	a file corresponding to every applicable year (e.g., if the calendar
	spans 1997, 1998, and 1999, "include xxx%y" will include xxx97, xxx98,
	and xxx99 in that order) instead of just the initial year.


    4) Other new functionality:

      .	Pcal predefines the symbol `v4_7'; this allows the user to ifdef out
	v4.7-specific constructs from date files that might also be used
	by older versions of Pcal.  If "-H" is specified, Pcal also
	predefines the symbol `html'; this allows the user to ifdef out
	HTML code (e.g. links, font size/color changes, etc.) that is
	undesirable in PostScript output. 

      .	On systems where output is normally written to a file, the -o flag
	without an argument redirects it to stdout.

      .	Pcal may optionally be built to generate output for A4 size (545x842)
	paper by adding -DA4PAPER to the COPTS line in the Makefile and
	rebuilding.  There is a block of code in writefil.c that forces the
	printer to select the appropriate paper tray in environments where
	multiple trays are available; it is, however, known to confuse some
	previewers and may be #ifdef'd out if desired (look for "#if 1").


    5) Bug fixes:

      . I have received reports of a Y2K-related problem on some Un*x systems:
	when no year is specified on the command line, the year is calculated
	as 100 instead of 2000.  I can't reproduce this problem myself, but
	incorporated the suggested fix anyway - see pcal.c and pcalutil.c.

      . Revised pcallang.h to parse the F_HELP, F_USAGE, and F_VERSION flags
	in the preliminary command line pass (P_CMD0) instead of in the first
	"real" command line pass (P_CMD1), generating the appropriate message
	and exiting without attempting to parse any numeric arguments.  This
	fixes an obscure bug where "pcal -v 99999" generates a "year out of
	range" error instead of the version stamp.

      .	Fixed a long-standing bug where "note/1" text would overwrite the
	small calendar for the next month if the "-k" flag was specified and
	the month began on Sunday.  See note_box() in pcalutil.c.

      .	Minor tweakage for compatibility with C++ compilers: ensure that
	"C" prototypes are visible wherever necessary (cf. protos.h); change
	"template" (C++ reserved word) to "templt" (cf. moonphas.c).

      .	Fixed a long-standing bug where the final month and year were
	miscalculated when spanning year boundaries in whole-year mode.

Credits:

The original calendar PostScript was Copyright (c) 1987 by Patrick Wood and
Pipeline Associates, Inc. with permission to modify and redistribute.

The following people contributed to Pcal v4.7:

	C and HTML code:				Andrew Rogers
	OS/2 support:					Alexander Mai
 
For a list of all known contributors to date, see the Orig.ReadMe file and
topline comments in pcal.c.

Future updates of Pcal v4.7 will be available at the following URL:

	http://www.geocities.com/SunsetStrip/Palms/5555/PS/pcal_4_7_tar_Z.txt


Andrew W. Rogers (andrew.rogers@east.sun.com)
09 February 2000


PS: Here's something handy - an alphabetical list of the Pcal options (v4.7)
and their meanings: (04 Dec 2004 Note: This has been moved to the section
corresponding to the current release and updated accordingly.)

-----------------------------------------------------------------------------
-----------------------------------------------------------------------------

"Pcal" Version 4.6

This is a new release of "Pcal", the PostScript calendar program.  The major
new features are:

	a) the "-a" flag to select a language other than English;

	b) the "-T" flag (and \f* escape sequences) to select bold or italic
	   typefaces in date/note box text;

	c) the "year all" directive to wildcard date file entries against
	   all applicable years;

	d) the distribution includes .html and .cgi files for setting up a
	   Pcal server using Netscape (maybe others; I haven't tried them)
	   under Un*x;

	e) the date box height for single-month portrait-mode calendars
	   has been expanded from 80 points to 117;

	f) the distribution includes moon phase files for 1997 and 1998

	g) two new keywords, "nearest_before" and "nearest_after", are
	   supported.

	h) the default century has been changed from 1900 to the current
	   century.

All are described in detail below.


Major changes:

    1) Of interest to Pcal hackers and installers:

      .	The following new files have been added to the distribution:

		days.h		day names in multiple languages (see -a below)
		months.h	month names in multiple languages
		calendar.gk	calendar with Greek holidays (in Greek)
		calendar.uk	calendar with British holidays
		fonttest_e	test Esperanto font mapping (see -a below)

		cvt7to8.c	To avoid mailer problems, days.h, months.h,
		cvt8to7.c	and calendar.gk are distributed in 7-bit
				format (8-bit characters are represented as
				octal escape sequences).  cvt7to8.c converts
				these files to true 8-bit format to
				facilitate editing by users with 8-bit
				editors; cvt8to7.c converts them back to
				7-bit format for mailing.

	The distribution also includes the "ReadMe" files from several
	earlier releases.

      .	moon94 and moon95 have been replaced with moon97 and moon98.

      .	My [AWR] site finally got a color printer, and after playing with it
	for a while I decided I prefer the appearance of black outlines
	(dates when -O flag is specified) to color outlines; if you agree,
	define the symbol OUTLINE_BLACK in the COPTS line of your Makefile.

      .	The Un*x Makefile supports selecting the default language (see
	-a description below).

      .	The Un*x Makefile has two new targets: "compress" to create a
	compressed 'tar' file (suitable for installation in a public ftp
	directory, WWW page, etc.) and "uuencode" to create a uuencoded
	version thereof.


    2) New command-line options:

      .	Pcal now supports the -a <language> flag to generate calendars
	in the following languages:

		de	German
		en	English [default]
		eo	Esperanto
		es	Spanish
		fr	French
		gr	Greek
		it	Italian

	In order to display diacritical marks, languages other than English
	require that the fonts be remapped (Esperanto uses a stripped-down
	version of ISO 8859-3; the others use "Latin1").  If no remapping
	is specified, \fIpcal\fP selects a remapping appropriate to the
	selected language; note that the Greek language also requires an
	ELOT-928 font (available from Angelo Haritsis, ah@doc.ic.ac.uk).

	If Esperanto is selected, Pcal converts [cghjsuCGHJSU][xX^] and
	[uU]~ to the corresponding accented character; e.g. "jxauxdo"
	"j^au~do", or any equivalent form will print as "j-circumflex a
	u-breve d o".

	Day and month names in the date file may be expressed in either
	the default language specified at compile-time or the language
	selected on the command line.

	Pcal predefines the symbol "lang_XX" where XX is the two-character
	abbreviation for the current language.

      .	Pcal now supports the -T [B|I|R] flag to select the typeface (Bold,
	Italic, or Roman) for printing date/note text (see below).  This flag
	may be specified multiple times within the date file (via "opt") to
	reset the font style on the fly - for example, to print all holidays
	in Bold.  (Also see "'troff'-like escape sequences" below.)
	

    3) New date file functionality:

      .	Pcal now supports the "year all" (or "year *") directive to address
	a long-standing Pcal deficiency: the requirement that recurring dates
	appear in the date file once for each year.  While "year all" is in
	effect, pcal will wildcard each date specification (and note box
	entry) in the date file into a date entry for each applicable year,
	as determined by the starting month/year and number of months.

	"Year all" is disabled by a date of the form "mm/dd/yy" or a "year
	yy" directive.

      . Pcal now supports 'troff'-like escape sequences to change the style
	of the font used for printing the text: \fB = Bold; \fI = Italic;
	\fR = Roman; \fP = previous font.  (Since there is no consistent
	means of converting a generic font name to its bold or Italic
	equivalent, these are simulated through overstrikes and 'makefont'
	respectively.)  Pcal also supports their HTML equivalents: <B> =
	Bold; <I> = Italic; </B> or </I> = previous font (lower case is
	also accepted).

	Each of these escape sequences causes a word break, so the effective
	granularity is word-level, not character-level.  Maybe some day...

	The font style is reset to Roman following each line break.

      . Pcal now supports three Orthodox Easter related dates: "GEaster",
	"Gstgeorge", "Gmarcus".

      .	Pcal now supports the "nearest_before" and "nearest_after" keywords
	to specify how pcal is to disambiguate between two dates that are
	equally near; e.g., "nonworkday nearest_before [Wed.] 9/25/96" refers
	to Sunday, 9/22 and "nonworkday nearest_after 9/25/96" refers to
	Saturday, 9/28.  (Note that in the absence of any such ambiguity,
	"nearest" takes precedence over "before" or "after": "nonworkday
	nearest_before 9/26/96" refers to Saturday, 9/28.)


    4) Other new functionality:

      . Pcal predefines the symbol v4_6; this allows the user to ifdef out
	v4.6-specific constructs from date files that might also be used
	by older versions of Pcal.

      .	Pcal compresses the date font text as necessary to prevent overflow
	of extremely long words into the next box.

      . The distribution now includes pcal.html (HTML form to generate
	single-month calendars), pcalw.html (HTML form to generate whole-year
	calendars) and pcal.cgi (common /bin/sh script to parse the options
	selected on either of the HTML forms and pass them to pcal).  (You
	will need to tweak site-specific paths in all of them.)

      .	The date box height for single-month portrait-mode calendars has
	been expanded from 80 points to 117.  If you prefer the original
	date box proportions (basically a scaled-down landscape-mode
	calendar), compile with -DORIG_BOX_HEIGHT.

      .	The default century for two-digit years has been changed from 1900
	to the current century.  This presumes standard Un*x behavior: that
	the "tm_year" field in the "tm" struct (<time.h>) represents the
	current year minus 1900, not the current year itself; if this is not
	the case on your system, change the TM_YEAR definition (pcaldefs.h)
	accordingly.


    5) Bug fixes:

      .	Fixed a long-standing (but not previously reported) bug in readfile.c
	which caused Pcal to crash upon an "undef <sym>" in the date file.

      .	Depending on the underlying hardware, a bit pattern of all zeroes
	may not necessarily be a null (or even a valid) pointer; pointers
	previously assumed initialized by a calloc() call are now initialized
	explicitly to NULL.

      .	The Un*x "calendar" utility interprets asterisks as wildcards;
	consequently, v4.6 does not propagate asterisks from the date file
	to the -c output (note also that holidays with no associated text
	will not be printed).  To retain them (as per v4.5), define the
	symbol KEEP_ASTERISKS in the COPTS line of your Makefile.

      .	Vestiges of a never-implemented experiment have been deleted from
	next_token() in exprpars.c.

      .	Fixed a long-standing bug where "note/1" text would overwrite the
	small calendar for the next month if the "-k" flag was specified and
	the month began on Sunday.  [merged from v4.7 12/21/97]


Credits:

The original calendar PostScript was Copyright (c) 1987 by Patrick Wood and
Pipeline Associates, Inc. with permission to modify and redistribute.

The following people contributed to Pcal v4.6:

	European language and Greek Orthodox calendar
		support:				Angelo Haritsis
	Esperanto support:				Andrew Rogers
	"nearest_*" suggestion:				Brad Knowles
	Updated VMS help file:				Richard Dyson
	Other C and PostScript code:			Andrew Rogers
 
For a list of all known contributors to date, see the Orig.ReadMe file and
topline comments in pcal.c.

Future updates of pcal v4.6 will be available at the following URL:

	http://www.geocities.com/SunsetStrip/Palms/5555/pcal.4.6.tar.Z.txt


Andrew W. Rogers
21 December 1997


PS: Here's something handy - an alphabetical list of the Pcal options (v4.6)
and their meanings: (04 Dec 2004 Note: This has been moved to the section
corresponding to the current release and updated accordingly.)

-----------------------------------------------------------------------------
-----------------------------------------------------------------------------

"Pcal" Version 4.5

This is a new release of "Pcal", the PostScript calendar program.  (An
intermediate version, 4.4, was not released publicly.)  

Major changes:

    1) Of interest to Pcal hackers and installers:

      . See various comments below regarding options configurable for your
	site by tweaking various .h files.

      . "noprotos.h" has been scrapped; K&R-style function declarations are
	automagically derived from "protos.h" by means of a clever macro,
	thus eliminating the need to keep two .h files in sync.

      . Two new files have been added to the distribution: "fonttest_r" and
	"fontmaps_l" (sample calendar files for testing the Roman8 and Latin1
	European language character mappings respectively).  This feature is
	discussed in greater detail below.
      
      . The v4.0 moon phase algorithm has pretty much obviated the need for a
	moon file, but "moon94" and "moon95" have been included nevertheless
	(replacing "moon91" and "moon92").  The moon file message has been
	dropped from the on-line help and from the comments in the sample
	calendar file.  The moon file may now contain "opt -A" and "opt -E"
	lines, thus allowing American-style moon files (those supplied) to be
	used in Europe without modification.

      . The Makefiles have been changed: "make clean" leaves pcal intact
	while removing object files and other debris created on the fly;
	"make clobber" removes pcal as well (as "make clean" used to do).
	A new target, "make fresh", has been added to rebuild pcal from
	scratch.

      . Selected site-specific defaults (DATEFONT, DATE_STYLE, DOUBLE_SIDED,
	FIRST_DAY, MAPFONTS, NOTESFONT, TIMEZONE, TITLEFONT, SHADING, EPS)
	may now be defined in the Un*x Makefile and its VMS equivalent; see
	Makefile and pcaldefs.h for details.  (Be a part of history - tweak
	the other Makefiles and get your name in the credits for v4.6!)

      . The Un*x Makefile has been revised: "make install" now installs
	the executable, raw man page, and packed/compressed man page as
	per current Un*x conventions.  (Thanks to Andrew P. Houghton for
	these modifications.)

      . The "help" message is automagically piped through a user-specified
	filter pointed to by environment variable PAGER (default: "more"),
	at least on Un*x systems.  If your non-Un*x system supports/simulates
	pipes via the "popen(3)" interface - or if you'd prefer to use a
	different environment variable or default filter - set/change the
	PAGER_ENV and PAGER_DEFAULT macros in pcaldefs.h.

      . The "Generated by..." message confuses some PostScript interpreters
	(e.g., QMS) and has been converted to an EPS-like comment block.

      . Additional EPS-isms (page headers and trailers, courtesy of Andrew
	P. Houghton) may be specified by #define'ing EPS as 1 in pcaldefs.h
	or in the Makefile.

      .	Pcal now pre-scales all the required fonts/sizes as part of its
	startup code in order to eliminate the overhead of doing so on the
	fly (again, thanks to Andrew P. Houghton for this suggestion).  The
	resulting performance improvement will be most apparent on multi-page
	or whole-year calendars.

      . The "pcalinit" program now supports #BEGIN <name> .. #END blocks
	to split the PostScript boilerplate into sub-arrays; writefil.c is
	now smart enought to generate only the PostScript code required
	for any given calendar (e.g., if moons are not requested, the moon
	generation boilerplate will not be generated).  Additionally,
	pcalinit propagates PostScript comments delimited by "%%" to the
	output file (stripping the first '%').

      . It has come to my attention that at least one older compiler
	sign-extends the expression (<anychar> & 0377) when promoting it to
	int, resulting in an unwanted negative value.  The masking constant
	0377 has been redefined as CHAR_MSK in pcaldefs.h (and wherever used
	throughout the source) so that it may easily be redefined if
	necessary (see the related comments in pcaldefs.h).

      . VMS changes (thanks to Richard Dyson): 1) the old "Makefile.VMS" has
	been been replaced by "Makefile.MMS", which works with either the
	official DEC unbundled product MMS or its public-domain clone MMK;
	2) Make_Pcal.com has been replaced by a simpler version generated
	directly by MMS.


    2) New command-line options:

      . Pcal now supports "-z <timezone>", which adjusts the moon phase
	calculation by <timezone> hours (where <timezone> is expressed in
	hours west of UTC: e.g., Boston = "-z5").  If "-z" is specified -
	with or without a value - Pcal will use its internal algorithm for
	the moon phase calculation even in the presence of a moon file.  The
	default for <timezone> is 0 as shipped, but may be overridden at your
	site by specifying the appropriate value in TIMEZONE (pcaldefs.h).

	(Some thought was given to extracting the value from the "TZ"
	environment variable, but that is far from universal even on Un*x,
	let alone the other platforms.  Maybe next time...)

      . Pcal generates PostScript code to disable duplex mode (double-sided
	output) on printers which support this.

      . Pcal also supports -#<n>, which directs Pcal to print <n> copies of
	each output page.  (Most printer spoolers support this in one form or
	another, but at some sites - including mine [AWR] - multiple copies of
	PostScript files are each preceded by a separate banner page, which
	could be wasteful if you're making, say, 75 copies of your company's
	holiday calendar.)  This may appear in the datefile if '#' is escaped
	by '\' (see below).

      . The flags responsible for setting day colors have been expanded and
	revised: -b and -g now accept "holiday" (or "hol") to set the color
	for holidays; -G and -O have been expanded to accept all of the -b
	and -g flags.  (For backward compatibility with v4.3, -G and -O alone
	work more or less as they used to, changing all non-black days to
	outline-gray or outline; cf. change_color() in pcal.c.)  Thus, the
	user can now specify

		-O -Ghol

	to print weekends as outline, holidays in outline-gray, and (by
	default) other days in black.

	The "weekday", "workday", and related keywords now use "logical
	black" - the predominant day color - to define weekdays.  The user
	can thus specify

		-Gall -Osat -Osun

	and "weekday" will refer to Monday through Friday, even though none
	of the dates are actually printed in black.  Related issue: If not
	explicitly specified otherwise, holidays will print in the least-
	frequently used color of those selected, or in a contrasting color
	if only one color is used; in the above case, holidays will print as
	outlines.

	Pcal also accepts ranges of weekdays, which may wrap around the end
	of the week:

		-Gfri-sun

	prints Friday, Saturday, and Sunday as outline-gray.

      .	The "-s" flag now allows the user to specify a set of red/green/blue
	values for the dates and fill boxes.  If a single value is specified,
	it is taken to be a gray scale value (as before); if three colon-
	separated values are specified, they are taken to be red:green:blue
	respectively; for example,

		-s1.0:0.0:0.0

	directs pcal to print "gray" dates in red.  Outline dates will
	appear in the specified color; "outline-gray" dates will appear
	in the specified color with a black outline.  The fill boxes
	are probably useless in any but the lightest colors, but for
	consistency's sake I decided to support r:g:b values for them
	too.  (Thanks to Denis Girou for the idea and sample code.)

      . The "-r" flag has been added.  This flag takes a single argument
	which is the name of a standard 8-bit character set mapping for
	printing the diacritical marks common to European languages; at
	present, this argument may be "roman8" or "latin1" (abbreviated to
	the first character if desired) to specify the Roman8 or ISO Latin1
	mappings respectively.  The default is no mapping; this may be
	overridden by defining MAPFONTS as ROMAN8 or LATIN1 in the Makefile.
	Note that this flag may not be changed on the fly; the final value
	specified will be in effect.

	Since the date font is usually used only for printing numbers, it
	is not remapped; if any of the secondary fonts are redefined as
	"datefont", define MAP_DATEFONT as 1 (cf. pcaldefs.h).

	New files: "fonttest_r" and "fontmaps_l" are sample calendar files
	for testing the Roman8 and Latin1 character mappings respectively.


    3) New date file functionality:

      . Pcal now handles dates of the form "second Thursday after 12/1".
	Note that the ordinal must be positive; while it could be argued that
	"last Thursday before 12/1" is synonymous with "first Thursday before
	12/1", what does "last Thursday after 12/1 mean?"

      . Pcal now supports predefined holidays; at present, it understands
	"Christmas", "Thanksgiving", "Good_Friday", and "Easter" (cf.
	pcallang.h).  So the date file may contain lines like:

		Easter*					Easter Sunday
		Wed before 6th Sun before Easter	Ash Wednesday
		day after Thanksgiving*			holiday

	(Algorithms and/or source code to determine the date of other movable
	holidays - e.g., the Jewish calendar, Chinese New Year, solstices,
	etc. - would be welcome!)

      . '#' is no longer treated as start-of-comment if escaped by '\'.

      . Pcal now accepts two additional European date formats: "dd. mm." and
	and "dd. mon".


    4) Other new functionality:

      . The user may now override the default font size used in printing the
	dates, note text, and month/year title (single-month calendars only);
	for example, "-dCourier/32" sets the date font to 32-point Courier.
	The font and size may be overridden independently: "-[dnt]<font>"
	overrides only the font name, while "-[dnt]/<size>" overrides only
	the size.

	The PostScript code responsible for positioning dates, text, etc.
	now does so using actual font sizes, not hard-coded constants.

      . Calculating the color in which to print each date has been moved
	from pcalinit.ps to writefil.c, allowing the PostScript code to
	perform a simple array lookup rather than a weekday/holiday
	calculation.

      . All of the font size initialization has been moved from pcalinit.ps
	to pcaldefs.h and writefil.c.

      . The grid border is drawn using "closepath" to ensure that the lines
	meet properly in the corners (yes, this was visible when using a
	high-resolution printer with repro-grade paper); additionally, the
	grid lines have been increased in width for the small and medium
	calendars (to help ensure uniform line width as physically printed).

      . The note box heading and weekday names are now printed in the same
	font as the title and footers; it makes more sense to print all the
	heading text in the same font.  Prefer the old way?  Just change
	WEEKDAYFONT in pcaldefs.h, where the initialization has been moved.

      . The font sizes used in printing the medium (whole-year) calendars
	can't be overridden by the user, but they have been enlarged yet
	again for legibility: title = 64, weekdays = 30, dates = 56, footers
	= 14.

      . Empty text associated with a date or note entry is propagated to the
	calendar as a blank line; this is useful for grouping related lines
	together.  If you prefer to ignore such lines (as before), define
	KEEP_NULL_LINES (pcaldefs.h) as 0.

      . The "help" message is automagically piped through "more" on Un*x
	systems (see section 1 above).

      . The "include?" preprocessing directive has been added; if the
	specified file cannot be opened, pcal will silently continue instead
	of terminating with an error.

      . The earliest valid year has been moved back from 1900 to 1753 (the
	first full year of the Gregorian calendar in England and her
	colonies).

      . The distribution includes "pscalendar", the original shell script/
	PostScript boilerplate (by Patrick Wood, King Ables, and Tim Tessin)
	that would eventually become Pcal.  This is provided primarily as a
	historical curiosity, but it is indeed interesting to reflect on how
	a 300-line shell script eventually turned into over 10,000 lines of
	C and PostScript source.


    5) Bug fixes:

      . Pcal now handles date specifications of the form "Friday nearest
	12/25"; previously, the "nearest" keyword only worked in conjunction
	with wildcard weekdays.  (This fix has been issued previously as a
	patch to v4.3.)

      . PostScript routine "holidaytext" has been revised to calculate the
	right margin more accurately, avoiding the occasional overflow into
	the next box.  (In fact, all of the margins have been parameterized,
	as were some hard-coded font sizes in "notetext".)


Credits:

The original calendar PostScript was Copyright (c) 1987 by Patrick Wood and
Pipeline Associates, Inc. with permission to modify and redistribute.

The following people contributed to Pcal v4.4 and v4.5:

	Overall coordinator:				Joe Brownlee
	VMS support:					Richard Dyson
	"-z" support:					Steve Grandi
	Color date support and testing:			Denis Girou
	Un*x makefile revision, EPS assistance and
	  testing, font prescaling:			Andrew Houghton
	Internationalization assistance:		Denis Girou (France)
							Robert Joop (Germany)
	Other C and PostScript code:			Andrew Rogers
 
For a list of all known contributors to date, see the Orig.ReadMe file and
topline comments in pcal.c.


Andrew W. Rogers
15 November 1994

-----------------------------------------------------------------------------
-----------------------------------------------------------------------------

"Pcal" Version 4.3

This is a new release of "Pcal", the PostScript calendar program.  (An earlier
release, 4.2, was not distributed publicly.)

Major changes:

    1) Of interest to Pcal hackers, installers, and power users :-) :

      .	The promised comments about X_OK in pcalutil.c are now actually there.

      .	Pcal now generates debugging information (see -Z flag below).


    2) New command-line options:

      .	The "-c" flag has been added; this directs Pcal to generate a date
	file suitable for input to the Un*x "calendar" utility (instead of
	a PostScript file).  This file may also be used as input for
	subsequent runs of Pcal, but be forewarned that "opt" lines,
	preprocessing directives, comments, etc. will be lost.  (Idea
	courtesy of Bruce Mohler.)

      .	The "-k" and "-K" flags have been added.  The former moves the two
	small calendars to the first two boxes (upper-left corner) while
	the latter splits them so the previous month is in the first box
	and the next month is in the last.  Should there be a conflict
	with a date, the body of the calendar is moved down one row.  (Why
	"-[kK]"?  Well, "k" sort of sounds like "calendar", and anyway all
	the letters that made any more sense were taken.)

      .	The "-N" flag has been added; this allows the user to override the
	default "Notes" header in the notes box.  If set to "", Pcal will
	not print a header in the notes box.

      .	The "-u" flag has been added; this prints the version information
	and parameter usage message to stdout and terminates normally.

      .	The "-s" flag has been added; this allows the user to override the
	default values for date and/or fill box shading.  For example,

		-s 0.45/0.98

	sets the date shading to 0.45 (white = 1, black = 0) and the fill box
	shading to 0.98; this looks good on the whole-year calendars.  The
	date and fill box shading values may be changed independently; e.g.
	"-s 0.45" or "-s /0.98".

      .	The "-S" flag has been added; this suppresses generation of the
	small calendars in the lower right corner, thus freeing two more
	boxes for notes (cf. "note/<number>" below).

      .	The "-Z" flag has been added to print debugging information of interest
	primarily to Pcal hackers.  This flag is a "hidden" flag; it does not
	appear on the man page or as part of the usage message.  At present,
	the following options are supported:

		-ZD	print dates and text as read from date file
		-ZF	print date file search paths
		-ZM	print moon phases and identify quarters
		-ZO	print option flags and where set
		-ZP	print "preprocessor" debug info
		-ZT	print dates and text as written to output file
		-Z	turn off all debugging info

	The subflags may be combined: e.g., "-ZDF" is equivalent to "-ZD -ZF".
	All of the aforementioned debugging information is written to stderr.

	(This brings the grand total up to 41 flags; -[aiqrzHPQTVW] are still
	unused.)


    3) New date file functionality:

      .	The file name in the "include" directive may contain the string "%y",
	which will be replaced by the last two digits of the current year.

      .	Wildcards "new_moon", "first_quarter", "full_moon", and "last_quarter"
	(plus appropriate synonyms) are now accepted in the date file.

      .	If the "-w" flag has been specified (in PCAL_OPTS, on the command
	line, or in an "opt" line), Pcal automatically defines the symbol
	"whole_year".  This allows the user to specify different "gray"
	character styles and densities, alternate foot strings, etc.,
	depending on whether s/he is generating a single month or a full year:

		ifdef whole_year
		 opt -s 0.45/0.98	# improve contrast in whole-year mode
		endif

      .	The keyword "nearest" has been added, allowing constructs such as
	"workday nearest every 10th".  (Thanks to Andy Fyfe for the idea
	and code.)  In this example, Pcal would look first at the 10th,
	then at the 11th, 9th, 12th, 8th, etc. until a workday is found.
	(If you would prefer to disambiguate "nearest" in favor of the
	earlier date, see the comments by "NEAREST_INCR" in pcaldefs.h.)

      .	The preprocessor now accepts "if" as a synonym for "ifdef".

      .	The preprocessor now accepts "elif" as per most recent flavors of
	cpp; "elif A" is true if A is defined.  Multiple "elif" clauses
	are allowed; as in cpp, at most one "if{{n}def}", "elif", or "else"
	clause will be processed per block.

      .	The user may place "Notes" text in any empty box: Pcal now supports
	"note/<n>", where <n> is a positive or negative integer.  If <n>
	is positive, Pcal counts forward from the first empty box; if
	negative, backward from the last.  Default is -1 (last empty box:
	as before, on the bottom row adjacent to the small calendars
	unless -S is specified).  (Thanks to Geoff Kuenning for the idea.)  


    4) Other new functionality:

      .	A new message, "no match for wildcard", has been added.

      .	The date sizes for the small and medium calendars have been enlarged
	for legibility.

      .	If Pcal can't find the moon file in the date file's directory, it
	looks in the directory where the Pcal executable lives.  This allows
	all users to access the same moon file; in fact, they need not even
	know of its existence.

      .	The "%u" and "%w" format specifiers have been added.  These behave
	much like "%U" and "%W" except that they treat the week containing
	January 1 (instead of the first full week) as week 01, as done by
	some companies.

      .	The %{[+-]<n>}[DWMY] format specifiers have been added.  These do
	not print anything per se, but instead adjust the working date by
	[+-]<n> days (D), weeks (W), months (M), or years (Y); subsequent
	format specifiers reference the adjusted date.  %D or %M alone
	reset the original date.

	Since the above format specifiers do not print anything, expand_fmt()
	and print_word() were revised further to avoid generating null words.

      .	The "moon92" file has been supplied.

      .	The user may now override the default notes font size as well as
	the font name:

		pcal -n Helvetica/8

	sets the font to 8-point Helvetica.  (This is the easy one.  User
	override of the other font sizes may appear later.)


    5) Bug fixes:

      .	The algorithm for finding the date file has been changed slightly:
	pcal searches the current directory before PCAL_DIR for a user-
	defined date file.  More importantly, the man page has been
	rewritten to accurately describe the search algorithm; the
	documentation had never been correct.

      .	Pcal no longer requires a space between -[LCRN] and the following
	quoted string in an "opt" line; loadwords() has been made smart enough
	to split the flag and the string into separate words.

      .	Pcal has been made much smarter about escape sequences (octal or
	hex formats) and now handles them on the command line in addition
	to "opt" lines in the date file.

      .	MIN_ORD_LEN has been expanded from 3 to 4 in order to distinguish
	"every" from "even".

      .	is_quarter() has been revised to eliminate the occasional duplicate
	(1/92) or missing (12/92) quarter moon in -m mode.


Credits:

The original calendar PostScript was Copyright (c) 1987 by Patrick Wood
and Pipeline Associates, Inc. with permission to modify and redistribute.
Many others have worked on it since; see the Orig.ReadMe file and topline
comments in pcal.c.

The following people contributed to Pcal v4.2 and v4.3:

	Overall coordinator:				Joe Brownlee
	"nearest" keyword:				Andy Fyfe
	"note/n" suggestion:				Geoff Kuenning
	VMS support, moon phase algorithm:		Richard Dyson
	"-c" suggestion, new SYNOPSIS for man page:	Bruce Mohler
	Other C and PostScript code:			Andrew Rogers


Andrew W. Rogers
08 December 1991 

-----------------------------------------------------------------------------
-----------------------------------------------------------------------------

"Pcal" Version 4.1

This is an intermediate release of "Pcal", the PostScript calendar making
program.

Major changes:

    1) Of interest to Pcal hackers and installers:

    .	The Un*x flavor of Pcal is now considerably smarter about finding
	the date file, using the PATH environment variable to identify
	the directory where the executable lives.  (This is so system-
	dependent that it exists only for Un*x; in fact, it may require
	some tweaking for your particular system.  See the comments in
	pcalutil.c regarding X_OK.)


    2) New command-line options:

    .	The "-v" option has been added to print version information without
	the entire usage message.

    .	The "-G" option has been added to print "gray" dates as filled
	outlines (thanks to Richard Dyson for the idea).


    3) New date file functionality:

    .	Pcal now supports format specifiers (derived mostly from strftime())
	which allow the user to substitute the current month, day, weekday,
	year, etc. into a text or foot string.  For further information,
	refer to the manual page and/or the comments in "pcal.c".


    4) Other new functionality:

    .	The default moon phase algorithm has been replaced with an
	astronomer-quality version; moon file ".moonXX" will continue
	to be supported for now.

    5) Portability:

    .   Some VMS-specific files have been updated.  Also, a TeX style sheet
	is now included in the distribution [this has since been dropped
	since whoever wrote it was no longer around to keep it in sync
	with the man page - any volunteers?].


Credit where credit is due:

The following people contributed to Pcal v4.1:

	Overall coordinator, troff manual page:		Joe Brownlee
	VMS/TeX support, moon phase algorithm:		Richard Dyson
	Other C and PostScript code:			Andrew Rogers
 
Although they probably wouldn't recognize the current version, countless
others worked on Pcal long before any of us ever heard of it; see the
Orig.ReadMe file and topline comments in pcal.c.


Andrew W. Rogers
20 August 1991

-----------------------------------------------------------------------------
-----------------------------------------------------------------------------

Original 'ReadMe' file from "Pcal"


"Pcal" is a program to print PostScript calendars for any month and year.
By default, it looks for a file in the home directory named "calendar"
for entries with leading dates matching dates on the calendar, and prints
any following text under the appropriate day.

The program may be a little System V flavored (getopt, time routines)
but should be easily portable to other vintages of UNIX.

Pcal is the combined effort of several people, most notably Patrick Wood
of Pipeline Associates, Inc. for the original PostScript code and Bill
Vogel of AT&T for the calendar file mechanism.  My part was simple
translation to a "C" program, the addition of a couple options and a more
generalized date searching routine (oh yes, and a manual page :-).

The original calendar PostScript was Copyright (c) 1987 by Patrick Wood
and Pipeline Associates, Inc. with permission to modify and redistribute.
Please retain this README file with the package.


Ken Keirnan
Pacific Bell
San Ramon, CA.

-----------------------------------------------------------------------------
-----------------------------------------------------------------------------