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
|
Copyright (C) 1997, 1998 Aladdin Enterprises. All rights reserved.
Unauthorized use, copying, and/or distribution prohibited.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
This file, NEWS-PCL, describes the changes in the most recent releases
of PCL5e/c, entries are made in reverse chronological order. This
news file differs from other Aladdin news files it is automatically
generated from the revision control logs. The dates provided for each
entry are the dates the sources were committed to the source code
repository.
Version 1.32 (01/12/00)
=======================
Tue Jan 11 02:00:00 2000 GMT ray@artifex.com
* pglabel.c [1.27]:
Change name of hpgl_select_font to prevent multiply defined symbol
when building with -DNOPRIVATE.
Wed Jan 5 03:00:00 2000 GMT Henry Stiles henrys@artifex.com
* pgvector.c [1.16]:
stroke paths that get excessively large during PE (polyline encode).
This change was motivated by a performance problem in the test file
bwalldpf.pcl.
* pgframe.c [1.10], pcstate.h [1.24], pcjob.c [1.17]:
Code to implicitly exit gl/2 when if we receive an ESC E while the
gl/2 parser is active.
Tue Dec 21 23:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pglabel.c [1.26]:
clears the path after exiting label mode.
Tue Dec 21 22:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pgdraw.c [1.51]:
The new pixel placement algorithm introduced several problems in the pcl5e ats because pcl was using and adjustment of 0.0 instead of 0.5.
* pcfont.c [1.23]:
PCL did not correctly process corrupt files because the font selection
structures were not properly initialized without <ESC>E.
Mon Dec 13 02:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pgdraw.c [1.50]:
The last change fixing pixel placement cause a bug with 0 width lines.
Mon Dec 13 00:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pctext.c [1.25]:
The plot thickens. pcl double rounds truetype fonts - the scaling
factor and the final resulting width are integral in centipoints.
Other fonts, intellifont and bitmap only round the final width.
* pgdraw.c [1.49]:
Uses gx_translate_path() to emulate pcl pixel placement. Also, we now
properly emulate gl/2 character fill, apparently characters are filled
first, then edged. Also the edging stroke must be done with the
default raster op. The combination of these two changes fixes the
problems on fts panels 2390, 2391, and other pixel placement panels.
* pcl_ugcc.mak [1.25]:
pcl now uses cljet5pr, cljet5 is no longer longedge feed.
Mon Nov 29 01:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pglabel.c [1.25]:
positioning of vertical labels was not correct.
* pgvector.c [1.15], pgstate.h [1.9], pgpoly.c [1.10], pgdraw.c [1.48],
pgconfig.c [1.18]:
We now emulate the unusual HP Line Type 0 behavior (fixes fts panel
1503) and phase of dashing has been fixed to exactly emulate hp (fixes
fts panels 1482, 1483, 1484 and others). The hp spec is not clear
exactly what happens when assymetric scaling is combined with vector
fills 3 and 4. We now apply the x and y scaling to x and y spacing
when the fill type is crosshatch (4) and apply the maximum spacing for
single line fills (fill type 3). This was done to fix fts panel 2380.
This entry and code mods are too "heavy", each of the problems above
should have been checked in separately.
* rtraster.c [1.21]:
"CombineWithColor" was not properly set to false with thresholding
monochrome pcl configuration.
* Anomalies.txt [1.16]:
Replaces gl/2 character anomaly test file with a smaller one. Adds a
new anomaly with an example illustrating a rounding difference between
HP and Artifex, the example was extracted from a "low priority" ats
test file.
Wed Nov 10 05:00:00 1999 GMT Henry Stiles henrys@artifex.com
* Anomalies.txt [1.15]:
Documents hpgl/2 character placement bug in HP printers.
* pgdraw.c [1.47]:
Fixes hpgl (FT3 & FT4) polygon fills to support non-zero winding and
even odd filling. Thanks to Ray for finding this problem and
explaining my misuse of "clip".
* rtgmode.c [1.15]:
Not properly converting coordinates from raster space to device space,
in some cases. Problem introduced with the last round of performance
improvements.
Fri Nov 5 05:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pgconfig.c [1.17]:
fix for a font initialization problem.
Tue Nov 2 04:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcpage.h [1.5], pcpage.c [1.33]:
the bounding box is now accessed through one pcl routine to prevent
duplicating the code everywhere.
* pglfill.c [1.19], pgcolor.c [1.7], pcpatrn.c [1.21], pcpalet.c [1.16],
pclookup.c [1.4], pcfrgrnd.c [1.7], pccolor.c [1.7], pccid.c [1.11]:
adds configuration for pcl5e without the benefit of grayscaling to
improve performance.
* pgdraw.c [1.46]:
It seems that HP would prefer 6 digits of accuracy while scaling. The
test file cd60bw22.bin actually requires this lesser accuracy to print
correctly. This fixes the stray lines on the baseball players face on
page 3. The truncation was empirically derived.
* rtraster.h [1.6]:
This file should have been checked in with the raster speedup logged
below.
* pctext.c [1.24]:
Performance modifications to print strings using xyshow for the common
cases instead of showing a single character at a time.
* rtraster.c [1.20], rtgmode.c [1.14]:
Special speedup to handle an unusual class of pcl files that use
opaque source and transparent pattern raster with no background, we
use the pages bounding box to conservatively determine if the region
of interest (the area the raster will cover) is blank, then we can use
a simpler raster algorithm.
Tue Oct 26 19:00:00 1999 GMT ray@artifex.com
* pcl_watc.mak [1.8], pcl_ugcc.mak [1.24], pcl_msvc.mak [1.7]:
Change to -include gsnogc.dev instead of explicit reference to gsnogc.obj.
Avoids linker unresolved / mulitply defined problems with async devices.
Mon Oct 25 21:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pglfill.c [1.18], pgdraw.c [1.45], pgconfig.c [1.16],
pcursor.c [1.16], pctop.c [1.11], pcpage.c [1.32], pcommand.c [1.14]:
adds initializations needed after removing the clearing of the pcl
state structure.
* pcl_ugcc.mak [1.23]:
adds jpeg driver and necessary jpeg source directory setting.
* pctext.c [1.23]:
modification to round font width calculations to pcl current units.
Mon Oct 25 01:00:00 1999 GMT Henry Stiles henrys@artifex.com
* rtgmode.c [1.13]:
Raster state's graphics margin was not being reset when a pcl reset
was issued, potentially resulting in an obscure bug. If the margin
was set in raster mode and raster mode is subsequently entered
implicitly, after a reset, the graphics margin was improperly retained.
Running the fts test panels 2278-83 immediately followed by fts panel
2290 improperly retains the graphics margin which resulting indirectly
in a misplaced vertical line. The probability of this occurring in
any real pcl file is very low.
Fri Oct 15 07:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pctop.c [1.10]:
removes setting of the entire pcl state to 0 bugmask at the beginning
of a job.
Fri Oct 15 06:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pgdraw.c [1.44]:
Adds a "moveto" the first point of a bezier curve if there is no
current subpath even if we are in polygon mode.
Thu Oct 7 07:00:00 1999 GMT ray@artifex.com
* pglabel.c [1.24], pgfont.c [1.5]:
adds (void *) casts for some font related function to avoid the work
of (1) finding a reasonable set of include files for plchar.c and (2)
the indirectly related problem of derefencing pointers to the graphics
state whose type definition should be opaque.
Tue Oct 5 04:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcl_ugcc.mak [1.22], pcl_top.mak [1.19]:
Moves "FEATUREDEVS" back to the main makefiles. These were moved to
the top level makefile to avoid duplicating the definitions in each
file. Because pipe.dev must be included unix makefiles and not
microsoft (Watcom) environments different definitiion are required for
FEATUREDEVS.
Sun Oct 3 18:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pctext.c [1.22]:
changes typedef from gs_show_enum to gs_text_enum_t. This one was missed
in the integration.
Sun Oct 3 08:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pglabel.c [1.23], pgfont.c [1.4], pctop.c [1.9], pctext.c [1.21],
pcstate.h [1.23], pcl_top.mak [1.18]:
This is the first gs593 integration it is *NOT* a release. Normally
each file is checked in with an associated log entry, in order to
check in all of the code simultaneously we batch all of the file
name's modified and change descriptions here (Note: Aladdin code changes
are documented in gs/doc/News.htm)
- pcstate.h - removes show enumeration from pcl state.
- pctop.c, pxtop.c
- gs_grestore_no_wraparound()'s is now gs_grestore_only().
- pxgstate.c
- ENUM_RETURN_CONST_STRING_PTR() now takes a gs string
argument instead of the string's data as it did
previously.
- plmain.c -
- The library no longer initializes io devices. Adds
gs_iodev_init() to main() procedure. Also, gs_c_param_list_rewrite()
is renamed to gs_c_param_list_write_more().
- pcltop.mak - adds pipe.dev for operating system pipe support.
- pctext.c, pglabel.c, pxfont.c, plfont.c
- extensive modifications to support the text api (gstext.h)
- use gs_text_enum_t instead of gs_show_enum.
- removes enumeration allocation, this is now done by the text
"begin" functions.
- update "next_char" procs and "encode char" procs to take a
glyph argument and the character argument is now passed by value
(pcl nor xl make use of the glyph argument).
- char_path_n_init() replaced with gs_charpath_begin().
- gs_show_n_init() replaced with gs_show_begin().
- gs_show_next() is now handled by gs_process_text().
- gs_release_text() added.
- gs_xyshow_n_init() replace with gs_xyshow_begin(). Passing
of x and y coordinates modified to support the new interface.
Unfortunately, we need to transform the coordinates into the
space of the font scaling matrix, that is the current ctm for
xl when the the text is processed. This differs from postscript
which appears to have the regular user->device matrix in the
graphics state during processing.
- (plfont.c) - gs_notify_init() is now part of the pfont
initialization procedure, related TODO: cut over to gs_font_alloc()
and gs_font_base_alloc().
- all gs files - removes uninitialized rcs identifiers.
KNOWN PROBLEMS:
occassional pxl and pcl crashes in gdev_mem_set_line_ptrs() when
running in color due to null base (data) pointer.
Thu Sep 30 20:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pgvector.c [1.14], pgdraw.c [1.43]:
Allowing unnecessary "pen ups" in polygon mode when placing beziers in
the polygon buffer. Fixes missing graphics in lotus 1-2-3 generated
files: ls40c1d3.bin and ls40d1d3.bin.
Wed Sep 29 04:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pctop.c [1.8]:
The cursor pointer was not correctly updated to the beginning of the
UEL code int the stream when flushing to the end of a job.
Wed Sep 29 00:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pgpoly.c [1.9]:
Corrects a typo in the last pgpoly.c fix that used the wrong pen state
structure. Thanks to Larry Baer for noticing this problem.
Sun Sep 26 06:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pgvector.c [1.13]:
modified to ignore spurious pen ups in polygon mode to accomodate the
unusual pcl in ls4031d1.bin and ls4051d1.bin.
* pgpoly.c [1.8]:
Exiting polygon mode should only have an effect if we are already in
polygon mode. This problem was discovered in two legacy dos lotus 1 2
3 files ls4031d1.bin and ls4051d1.bin.
* pcsfont.c [1.18]:
The partial implementation of continuation (see below) did not allow
for more than one continuation command. This change should work
for any number of continuation commands. This fixes the truncated
large bookman font that prints the number '200' on fw21fww3.bin.
* pglfill.c [1.17]:
In contradicton to PCLTRM Select Pen is not ignored in polygon mode.
This also fixes problems seen in legacy ls4031d1.bin and ls4051d1.bin.
NOTE: I have not tested if this is also true for polyline encoded
select pen command.
Wed Sep 22 05:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pgdraw.c [1.42]:
normalizes angle on second pass of gl/2 vector fills to the 1st or 2nd
quadrant, specifically [0..PI). Fixes problem in test file c3.bin bug
number 199912.
Tue Sep 21 16:00:00 1999 GMT marcos@artifex.com
* pctop.c [1.7], pcsymbol.c [1.13], pcfrgrnd.c [1.6], pcfont.c [1.22]:
Changed comments from // to /* */
Mon Sep 20 17:00:00 1999 GMT marcos@artifex.com
* pcl.mak [1.33]:
Changed version number.
Fri Sep 17 19:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pgchar.c [1.13]:
In contradiction to PCLTRM 23-85 the HPGL/2 SD command permits the
same values for posture as pcl permits for the style attribute. The
possible values of 0, 1 and 2 on 23-85 are incorrect.
Fri Sep 17 09:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pgdraw.c [1.41]:
Improves algorithm to determine if a path should be closed. We now
make comparisons of gl/2's first and last point of a subpath in device
space instead of user space. Fixes missing miter and join in test
file golfer.pcl.
Thu Sep 16 06:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcpage.c [1.31]:
Proper "page feed if marked" logic for set paper source and set page
size commands.
* pcjob.c [1.16]:
resets "parse other" to pcl upon receiving a printer reset in case we
received the command after entering gl/2 mode. Fixes the overlay
macro bug page 3 fts.2230.
* pcjob.c [1.15]:
Proper "page feed if marked" logic for duplexing commands.
Fri Sep 10 09:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pctext.c [1.20]:
Improperly qualifying an undefined glyph. In pcl parlance undefined
glyphs are space characters, for some reason this rule was not being
upheld in all cases. Fixes the bad spacing on page 1 of mc608w22.bin.
* pcfont.c [1.21]:
The pcl font machinary was changed (see below) to maintain a flag in
the font selection state indicating if the font should be selected by
id. Unfortunately, we forgot to clear the flag when decaching font
and font selection parameters. This fixes the missing characters seen
on pcl5e ats file mc608w22.bin and others.
Fri Sep 10 08:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pgchar.c [1.12]:
HP does not stop processing an SD or AD command because one or more of
the parameters are out of range, out of range parameters are skipped.
File bug410.pcl.
* pcstate.h [1.22]:
This file should have been checked in with the change to implement
soft font continuation - see last entry for file pcsfont.c. This fixes
large missing 4 character in ats file pl30aw22.bin.
Fri Sep 10 01:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcsfont.c [1.17]:
soft font continuation support for uncompressed bitmap fonts.
Sun Sep 5 19:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcpage.c [1.30]:
pjl wide a4 should only be in effect if a4 paper is selected.
Tue Aug 31 02:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcjob.c [1.14]:
The pcl duplex page side select command does not do an unconditional
page eject contrary to the documentation.
Sun Aug 29 03:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pctext.c [1.19]:
Change to not automatically treat ascii character 32 as a space. As a
hack we only do this for internal fonts which shouldn't have a real
character mapped at position 32. Download fonts may hava a real
character mapped at position 32 in which case the escapement for the
character (not hmi) should be used. Thanks to Jan Stoeckenius for
fixing this one.
Wed Aug 25 22:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcfsel.c [1.13]:
fixes pitch selection problem - scalable fonts should score worst not
best when a fixed pitch font is requested. Improves font selection
debugging code, as well.
Version 1.30 (08/25/99)
=======================
Wed Aug 25 17:00:00 1999 GMT Marcos H. Woehrmann marcos@artifex.com
* pcl.mak [1.32]:
Changed version number for release.
Wed Aug 25 16:00:00 1999 GMT Marcos H. Woehrmann marcos@artifex.com
* pcl.mak [1.31]:
Changed version number to 1.10.
Wed Aug 25 07:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcursor.c [1.15]:
Horizontal relative cursor motion logical error fixed. Relative
cursor positions less than 0 were not handled correctly.
Tue Aug 24 06:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcpage.c [1.29]:
Contrary to the documentation perforation skip does not reset the vertical
margins.
Tue Aug 24 01:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcpage.c [1.28]:
setting the top margin has the side effect of resetting the y
component of the pcl cap.
* pctop.c [1.6]:
adds initialization for language personality.
Thu Aug 19 08:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcl.mak [1.30.2.1]:
whitespace change.
Tue Aug 17 23:00:00 1999 GMT Henry Stiles henrys@artifex.com
* rtmisc.c [1.11], pcuptrn.c [1.16]:
clears the current path before entering gl/2 and adds support for an
undocumented user defined pattern type, format 20.
Fri Aug 13 17:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcl.mak [1.30]:
branches: 1.30.2;
Misspelling of a device resulted in not including initialization code
for the pgcolor module. Fixes black background regression present in
many of the ats files.
Wed Jul 28 03:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pctop.c [1.5], pcsymbol.c [1.12]:
loading of the built in symbol sets is now a private procedure in
pcsymbol.c, invoked by the reset code.
Tue Jul 27 05:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcfont.c [1.20]:
When a font is selected by id simply decache and let it be reselected
when it is required.
* pcsfont.c [1.16]:
Workaround - dictionary synynyms do not work properly with dictionary
enumerations when deleting all fonts. To work around this the
enumeration is reinitialized each time a font is deleted.
* pgdraw.c [1.40]:
The gl/2's clipping region is rounded slightly differently on the
LJ6mp versus the Color Laserjet. Code change to emulate the 6mp for
now but work still in progress here.
Mon Jul 19 03:00:00 1999 GMT Henry Stiles henrys@artifex.com
* rtmisc.c [1.10], pglabel.c [1.22], pgdraw.h [1.8], pgdraw.c [1.39]:
hpgl/2 clipping region was not being set properly when rendering
characters (LB). The current transformation matrix did not account
for pcl text direction when the current position (cap) was imported
into the gl/2 coordinate system.
* pgchar.c [1.11], pcsfont.c [1.15], pcfsel.h [1.6], pcfsel.c [1.12],
pcfontst.h [1.3], pcfont.c [1.19]:
Modification to always select fonts by id instead of selecting the
font by id and subsequently depending on the selection parameters to
uniquely determine the font. Also a minor change to decache the
currently selected gl/2 font when pcl fonts are decached, this
behavior is not documented in PCLTRM.
* pcuptrn.c [1.15]:
Apparently raster fill unlike other fills take the resolution of the
device not the PCL documented 300dpi.
Thu Jun 17 20:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcsfont.c [1.14], pclfont.c [1.10], pcfont.c [1.18]:
releases pxl error page font and enumeration when shutting down an
interpreter instance. This required adding support to pl_font_t for
fonts with permenent data (data that should not be freed).
Wed Jun 16 02:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcmacros.c [1.9]:
release macro dictionary for permanent resets.
Tue Jun 15 19:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcht.c [1.17]:
revert back to our old reference count hacking. TODO: we initialize a
new color mapper device each time the rendering method changes,
requiring the hack to the reference counts. It would be much simpler
to set the rendering method by setting a parameter using one color
mapping device instead of juggling 4 separate color mapper devices. A
project for another day.
* pcpalet.c [1.15]:
release of the default and current palette for permanent resets. Also
removes an unnecessary call to pcl_set_drawing_color() apparently used
to track down memory leaks.
* pcstate.h [1.21]:
prototype for pcl_free_gstate_stk().
* pcfrgrnd.c [1.5]:
removes final references to current halftone, crd, color space and foreground
objects for permanent resets.
* pcdraw.c [1.10]:
function to deallocate the pcl graphics state stack to be done during
interpreter deinit.
Mon Jun 14 04:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pctop.c [1.4]:
adds assertions about the current device (bbox and special color
mapper) as pcl is shutdown. Free's pcl graphics state upon shutdown.
Mon Jun 14 03:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pctext.c [1.18]:
pcl now gets the advance vector for each character directly from the
fonts for better performance. Previously gs_show_width() was used.
Also, obsolete font substitution has been removed.
* pcfont.c [1.17]:
Adds decaching for fonts for shift in, shift out, and selection by id.
This was previously done awkwardly in pctext.c
Mon Jun 7 05:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pginit.c [1.13]:
frees polygon buffer when there is a permenant reset.
* pcsymbol.c [1.11]:
frees soft and internal symbol sets when there is a permanent reset.
* pctop.c [1.3], pcl.mak [1.29]:
adds debugging assertions for current devices while devices are being
removed from the pcl interpreter's instance.
Sun Jun 6 04:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pclver.h [1.3]:
remove automatically generated version file that was accidentally
added to the repository.
Sun Jun 6 00:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pctop.c [1.2], pcsymbol.c [1.10], pcommand.h [1.8], pclver.h [1.2],
pcfont.c [1.16]:
Adds a new pcl reset type, pcl_reset_permenant, used to get
rid of pcl permenant objects and internal objects normally
maintained across job boundaries. Adds functionality for
releasing the pcl the internal fonts. Moves loading of symbol
out of pctop.c.
Wed Jun 2 03:00:00 1999 GMT johnd@artifex.com
* pgparse.c [1.8], pgmand.h [1.9], pcursor.c [1.14], pctop.h [1.1],
pctop.c [1.1], pcstate.h [1.20], pcsfont.c [1.13], pcpage.c [1.27],
pcommand.c [1.13], pcmain.c [1.33], pclver.h [1.1], pclfont.c [1.9],
pcl_watc.mak [1.7], pcl_ugcc.mak [1.21], pcl_top.mak [1.17],
pcl_sgi.mak [1.8], pcl_msvc.mak [1.6], pcl.mak [1.28], pcjob.c [1.13],
pcimpl.c [1.1], pcfont.c [1.15]:
Initial checkin for multiple language support, shared devices,
interpreter instances, interpreter initialization/de-initialization,
etc. A todo list of unfinished work is in pctop.c and pxtop.c.
Thu May 27 07:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcht.c [1.16]:
casts color mapper devices to normal devices for gx_device_retain and
fixes a typo.
* pcpage.c [1.26], pcmain.c [1.32], pcl_top.mak [1.16]:
replace gsgc.h include with gsnogc.h
Wed May 26 06:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcht.c [1.15]:
replaces reference counting hack with gx_device_retain().
* pcht.c [1.14]:
adds calls to gx_device_retain, so that the color mapper devices will
not be inadvertantly freed.
Tue May 25 07:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcl_top.mak [1.15], pcl_msvc.mak [1.5]:
gs5.84 integration. Initialization of DD macro, initializes directory
location for device (.dev) files
Mon May 24 20:00:00 1999 GMT Henry Stiles henrys@artifex.com
* rtraster.c [1.19], pcuptrn.c [1.14], pcpage.c [1.25],
pcmain.c [1.31], pcl_ugcc.mak [1.20], pccid.c [1.10]:
initial gs5.84 checkin with pcl and xl compiling.
Tue May 18 02:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcursor.c [1.13]:
fixes static removal regression. The pcl cap can reside in the pcl
state but is not really part of the modified print environment. After
macro invocation, copy back the cap to simulate this behavior.
Mon May 17 07:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcstate.h [1.19], pcparse.h [1.5], pcparse.c [1.9], pcpage.c [1.24],
pcommand.c [1.12], pcmain.c [1.30], pcmacros.c [1.8]:
modifications to get max stack usage for pcl_execute_macro() down from
56K to 38K. To be continued.
Mon May 17 06:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pglabel.c [1.21]:
corrects typo and fixes a compiler warning introduced in the last
modification.
Mon May 17 05:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcuptrn.c [1.13]:
removes unnecessary header file.
* rtgmode.c [1.12]:
raster source width and source height were calculated incorrectly when
not given explicity. This caused the bounds of the image to be larger
than the extant the of the clipping rectangle for the page, resulting
in expensive and unnecessary calls to gx_default_fill_triangle from
the bbox device.
* pgvector.c [1.12]:
hpgl/2 will now allow round joins with beziers, other joins
default to bevel.
* pglabel.c [1.20]:
The labeling code is now more liberal about using "show" and the
graphics library character cache instead of drawing characters with
the gl/2 line drawing code. This change speeds up the fts about 20%.
Effects on other test are not likely to be as significant since most
applications don't use gl/2's LB as frequently as the fts tests.
Thu May 13 04:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pglfill.c [1.16]:
removes obsolete comment.
* pcuptrn.c [1.12]:
properly initialize pattern reference point and orientation.
Wed May 5 03:00:00 1999 GMT Henry Stiles henrys@artifex.com
* rtraster.c [1.18], rtmisc.c [1.9], rtlrastr.c [1.6], rtgmode.c [1.11],
rtcursor.c [1.6], pgvector.c [1.11], pgstate.h [1.8], pgpoly.c [1.7],
pgparse.c [1.7], pgmand.h [1.8], pglfill.c [1.15], pglabel.c [1.19],
pgframe.c [1.9], pgconfig.c [1.15], pgcolor.c [1.6], pgchar.c [1.10],
pcursor.c [1.12], pcrect.c [1.12], pcpatxfm.c [1.7], pcpatrn.c [1.20],
pcparse.c [1.8], pcpalet.c [1.14], pcommand.h [1.7], pclfont.c [1.8],
pcl.mak [1.27], pcjob.c [1.12], pcfont.c [1.14], pccprint.c [1.7],
pccolor.c [1.6], pccid.c [1.9]:
Fixes 2 problems with polyline encoding: After PE is executed, the
previous plotting mode (absolute or relative) is restored, but the pen
up and down status is maintained.
Simplification of RTL configurations - allows dynamic selection of
commands in pcl or rtl mode. The rtl interpreter will now run without
TrueType fonts being loaded, only stick and arc fonts are accessed
through hpgl's LB instruction.
Unnecessary path clearing removed when plot mode changes.
Sun May 2 00:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pclfont.c [1.7]:
PCL now exits with an error message(s) if internal fonts cannot be
found.
Thu Apr 29 00:00:00 1999 GMT Marcos H. Woehrmann marcos@artifex.com
* pcparse.c [1.7]:
Changes to const and private for msvc.
Mon Apr 26 07:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pginit.c [1.12], pgframe.c [1.8], pgdraw.c [1.38], pgconfig.c [1.14],
pcursor.h [1.5], pcursor.c [1.11], pctext.c [1.17], pcstate.h [1.18],
pcpage.h [1.4], pcpage.c [1.23], pcmain.c [1.29]:
Modifications for RTL/GL2 mode, these changes are only relevant to RTL
not pcl5c or pcl5e: (1) Adds rtl personality to pcl state and factory
defaults (2) sets page size offsets to zero (3) changes clipping
region to not use the pcl default setting of a 1/6" margin around the
page (4) export pcl's new logical page and pcl's form feed procedure
for use by gl/2's plot size (PS) and advance full page (PG) (5)
Ignores text (6) Adds more implementations to plot size and advance
page size (these commands are not complete) (7) defines rtl coordinate
system for cases plot length < plot width and plot length > plot width
(8) change gl/2 picture frame to have the same extant as the logical
page size. (9) defaults gl/2's anchor point to have coordinate 0, 0
(having no effect on the coordinate system).
Mon Apr 26 06:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcpalet.c [1.13]:
modification to get around const warning.
Mon Apr 19 20:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcmain.c [1.28]:
removes external declarations that are now properly done in gxalloc.h.
Wed Apr 14 08:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcstate.h [1.17], pcpalet.c [1.12], pcindxed.h [1.5],
pcindxed.c [1.4]:
Removes a global variable and a static local to a function, both
supporting indexed color spaces.
Tue Apr 13 20:00:00 1999 GMT ray@artifex.com
* pgparse.c [1.6]:
Add initialization for hpgl parser. Fixes exception error.
Tue Apr 13 06:00:00 1999 GMT ray@artifex.com
* pclookup.h [1.4]:
Add extern to prevent multiple definition linker errors.
* rtrstst.h [1.5]:
Add comment delimiters following #endif to prevent warning.
* rtrstcmp.h [1.4]:
Add missing 'extern' to prevent multiple definition link errors.
* pcpalet.c [1.11]:
Change to use defining macro for pstack_entry (see change in pcpalet.h).
This definition only here, others do not cause multiple def'n link errors.
* pcpalet.h [1.7]:
Add defining instance macro for pstack_entry to prevent multiple def'n
link errors.
Tue Apr 13 02:00:00 1999 GMT Henry Stiles henrys@artifex.com
* rtrstst.h [1.4], rtraster.h [1.5], rtraster.c [1.17],
rtmisc.c [1.8], rtlrastr.c [1.5], rtgmode.c [1.10], rtcursor.c [1.5],
pgvector.c [1.10], pgpoly.c [1.6], pgparse.c [1.5], pgmand.h [1.7],
pglfill.c [1.14], pglabel.c [1.18], pgframe.c [1.7], pgconfig.c [1.13],
pgcolor.c [1.5], pgchar.c [1.9], pcursor.c [1.10], pcuptrn.c [1.11],
pctext.c [1.16], pcsymbol.h [1.5], pcsymbol.c [1.9], pcstatus.c [1.8],
pcstate.h [1.16], pcsfont.c [1.12], pcrect.c [1.11], pcpatxfm.c [1.6],
pcpatrn.h [1.10], pcpatrn.c [1.19], pcparse.h [1.4], pcparse.c [1.6],
pcpalet.h [1.6], pcpalet.c [1.10], pcpage.c [1.22], pcommand.h [1.6],
pcommand.c [1.11], pcmisc.c [1.5], pcmain.c [1.27], pcmacros.c [1.7],
pclookup.c [1.3], pcl.mak [1.26], pcjob.c [1.11], pcident.h [1.4],
pcident.c [1.3], pcfrgrnd.h [1.4], pcfrgrnd.c [1.4], pcfont.c [1.13],
pcdither.c [1.4], pccsbase.h [1.6], pccsbase.c [1.9], pccrd.h [1.6],
pccrd.c [1.9], pccprint.c [1.6], pccolor.c [1.5], pccid.c [1.8]:
WARNING: changes pending - do not release. First stable pcl checkin
with no statics and general code clean up. Modifications for pcl
raster, parser, color, foreground, palette and hpgl/2 parser.
Thu Apr 8 06:00:00 1999 GMT Henry Stiles henrys@artifex.com
* rtrstcmp.h [1.3], rtraster.h [1.4], rtgmode.h [1.4], pgmisc.h [1.4],
pginit.h [1.5], pcwhtidx.h [1.3], pcursor.h [1.4], pcuptrn.h [1.5],
pcstate.h [1.15], pcpatxfm.h [1.3], pcpatrn.h [1.9], pcpatrn.c [1.18],
pcparam.h [1.6], pcpalet.h [1.5], pcpalet.c [1.9], pcpage.h [1.3],
pcmtx3.h [1.5], pclookup.h [1.3], pcl.mak [1.25], pcindxed.h [1.4],
pcident.h [1.3], pcht.h [1.6], pcht.c [1.13], pcfrgrnd.h [1.3],
pcfont.h [1.5], pcdraw.h [1.4], pcdither.h [1.3], pccsbase.h [1.5],
pccrd.h [1.5], pccid.h [1.5], pcbiptrn.h [1.6], pcbiptrn.c [1.7]:
extensive changes to support static removal from the pcl halftone
code. Removes use of extern in prototypes and adds the standard
prototype macros for argument templates. Adds support for device
resolution patterns.
Tue Apr 6 02:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pglfill.c [1.13]:
hpgl_MC now draws the current path first even if the command fails.
* pcuptrn.c [1.10], pcstate.h [1.14], pcrect.c [1.10], pcpatrn.c [1.17],
pcl.mak [1.24], pcbiptrn.h [1.5], pcbiptrn.c [1.6]:
pcl static removal - removes statics from the pattern building machinery.
Fri Apr 2 07:00:00 1999 GMT Henry Stiles henrys@artifex.com
* rtmisc.c [1.7], rtlrastr.c [1.4], rtgmode.c [1.9], rtcursor.c [1.4],
pgstate.h [1.7], pglabel.c [1.17], pginit.h [1.4], pginit.c [1.11],
pgframe.c [1.6], pcxfmst.h [1.3], pcursor.h [1.3], pcursor.c [1.9],
pctext.c [1.15], pcsymbol.h [1.4], pcsymbol.c [1.8], pcstatus.c [1.7],
pcstate.h [1.13], pcsfont.c [1.11], pcrect.c [1.9], pcpatxfm.c [1.5],
pcparse.h [1.3], pcparse.c [1.5], pcpage.c [1.21], pcommand.h [1.5],
pcmisc.c [1.4], pcmain.c [1.26], pcmacros.c [1.6], pclfont.c [1.6],
pcjob.c [1.10], pcfsel.h [1.5], pcfsel.c [1.11], pcfont.h [1.4],
pcfont.c [1.12], pccoord.h [1.3], pccid.h [1.4]:
Static removal phase 2. Moves pcl cursor (cap) back into pcl's state,
along with the cursor stack and stack size. Also, PCL was referencing
the state using the names pcs or pcls, now we use pcs only.
Thu Apr 1 09:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcuptrn.h [1.4], pcuptrn.c [1.9], pcstatus.c [1.6], pcstate.h [1.12],
pcrect.c [1.8], pcpatrn.c [1.16]:
pcl static removal phase 1 - removes all statics associated with pcl
and gl/2 patterns.
Tue Mar 30 19:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pgdraw.c [1.37]:
The number of lines filled was not being updated after drawing the
line instead of before.
Fri Mar 26 18:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pglabel.c [1.16]:
changed stick font compliment, Accents are not supplied by stick font.
* pcmain.c [1.25]:
increases parse buffer size to a reasonable size.
Wed Mar 24 08:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pglfill.c [1.12], pgdraw.c [1.36]:
fixes initialization problem with LT and reworks most of the logic in
hpgl_LT().
Tue Mar 23 20:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pgdraw.c [1.35]:
Set character edge line width as a function of the point size. The
proportion was derived empirically to be line width = 0.0375 * font
points size in quarter points. This is not specified in the HP
documentation.
Sun Mar 21 06:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pgdraw.c [1.34]:
make sure we clear the path if there is no gl/2 subpath.
Fri Mar 19 06:00:00 1999 GMT jan@artifex.com
* pcht.c [1.12]:
makes sure first default color mapper device reference count does not
become 0.
Tue Mar 16 08:00:00 1999 GMT jan@artifex.com
* rtrstst.h [1.3], rtraster.c [1.16], rtgmode.c [1.8]:
Fix to properly clip rasters. A detailed explanation of this change
is in the header file pcl/rtrstst.h, item 4.
Tue Mar 16 08:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pgdraw.c [1.33]:
changes to support opaque gx_path
Sat Mar 13 22:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pcommand.c [1.10], pcmain.c [1.24]:
Modified to use gs_state_setdeviceparams in lieue of gs_deviceparams.
Removes redundant calls to gs_clippath() and gs_state_set_client().
Mon Mar 8 06:00:00 1999 GMT Henry Stiles henrys@artifex.com
* rtraster.c [1.15]:
The "clearing" of planes not provided has been moved to the
process_row routine (it was in transfer_raster_row). To
facilitate this change the current compression mode is now an
operand of process_row.
The code that handles repeated rows in process_adaptive_compress
has been modified to use its fast-case only if the number of planes
is 1. Otherwise, it repeatedly calls process_row.
The check test for nplanes == 1 in the adaptive compression case
in add_raster_plane has been removed; the routine will now only
check that the plane data is from a transfer_raster_row command
rather than a transfer_raster_plane command.
Mon Mar 8 03:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pgvector.c [1.9]:
more careful placement of the center point in CI to avoid inadvertant
implicit closepath.
Mon Mar 8 00:00:00 1999 GMT Henry Stiles henrys@artifex.com
* pgmand.h [1.6], pglfill.c [1.11], pgdraw.c [1.32], pgconfig.c [1.12]:
more emulation of hp bugs: LT with no parameters does not in fact
reset the line patterns it only sets the current line type to solid.
Version 1.07 (03/04/99)
=======================
Thu Mar 4 20:00:00 1999 Henry Stiles henrys@artifex.com
* pcl_top.mak [1.14]:
version number updated.
Thu Mar 4 08:00:00 1999 Henry Stiles henrys@artifex.com
* Anomalies.txt [1.14]:
adds 2 new ats anomalies.
Thu Mar 4 03:00:00 1999 Jan Stoeckenius,,,, jan@artifex.com
* rtraster.c [1.14], Anomalies.txt [1.13]:
Adds fts 765 and reverts adaptive compression fix.
Wed Mar 3 08:00:00 1999 Henry Stiles henrys@artifex.com
* rtmisc.c [1.6]:
hpgl/2 does not free the polygon buffer when entering pcl.
* pclfont.c [1.5]:
Albertus Medium was incorrectly identified with weight 0 instead of 1.
Tue Mar 2 07:00:00 1999 Henry Stiles henrys@artifex.com
* pgdraw.c [1.31]:
new evidence from the ats test indicates the IW soft clip command
defines a half-closed clip box and the hpgl/2 picture frame defines an
closed clip box. Also add more path and clip path debugging
information for hpgl/2.
Mon Mar 1 08:00:00 1999 Henry Stiles henrys@artifex.com
* pgconfig.c [1.11]:
IW was not stroking the current path unless parameters were given.
Mon Mar 1 05:00:00 1999 Henry Stiles henrys@artifex.com
* pgconfig.c [1.10]:
2 current ctm fixes: SC does not reset the ctm before deriving the
current user position in device space, and the routine to get the
default picture frame did not properly restore the ctm.
Sun Feb 28 07:00:00 1999 Henry Stiles henrys@artifex.com
* pglabel.c [1.15], pgdraw.c [1.30]:
corrects label offset calculation when SI and SR are enabled.
Fri Feb 26 05:00:00 1999 Jan Stoeckenius,,,, jan@artifex.com
* pccid.c [1.7]:
HP ignores the bits-per-primary setting for device-independent color
spaces, and always uses [255, 0] as white and black reference points for these
spaces.
We have modified the routine check_cid_hdr in pccid.c to set bits-per-primary
to 8 for all device-independent color spaces. The modified file is attached.
Thu Feb 25 09:00:00 1999 Henry Stiles henrys@artifex.com
* pgvector.c [1.8]:
It is not necessary to return to the starting point of a circle when
drawing in polygon mode.
Thu Feb 25 08:00:00 1999 Henry Stiles henrys@artifex.com
* rtgmode.c [1.7]:
rtgmode.c was truncated at the last checkin (not analyzed).
Thu Feb 25 04:00:00 1999 Jan Stoeckenius,,,, jan@artifex.com
* rtgmode.c [1.6]:
Fixes ats file floating poing rounding and truncating error. For the
particular transformation in effect, the initial horizontal position
of 7008 centi-points would come back as 7007.9994... centi-points,
which was converted to 7007 centipoints, which would come back as
7006.9994... centi-points, and so on. The process finally stopped at
about 6600 centi-points, due to a change in the least significant bit
of the tx field of transformation matrix. Now we round the calculated
centipoint position before converting to an integer.
Version 1.06 (02/24/99)
======================
Wed Feb 24 11:00:00 1999 Henry Stiles henrys@artifex.com
* pcstate.h [1.11], pcsfont.c [1.10], pcpage.c [1.20], pcmain.c [1.23],
pclfont.c [1.4], pcl.mak [1.23], pcfont.c [1.10]:
Modifications to support PJL fontsource and fontnumber environment
variables.
Fri Feb 19 00:00:00 1999 ray@artifex.com
* pcl_watc.mak [1.6]:
Fix problems that kept this from working. Change to make 32-bit tools and
target the default. Update it to work with the new directory structure.
This is probably the first workable version for Watcom.
* pcindxed.h [1.3], pcindxed.c [1.3]:
Change cs_indexed_..._ptrs to pcl_cs_indexed_..._ptrs to prevent conflict
with gscolor2.c when building NOPRIVATE=1.
Thu Feb 18 23:00:00 1999 ray@artifex.com
* pcl_top.mak [1.13]:
Fix building of pclver.h to use '-x 23' instead of '#' which breaks under
Watcom/Dos.
* pcl.mak [1.22]:
Fix PCLCCC to use $(I_) macro instead of hard coded -I which doesn't work
on Watcom, VMS, etc.
Thu Feb 18 06:00:00 1999 Henry Stiles henrys@artifex.com
* Anomalies.txt [1.12]:
removes pcl clipping region bug - not actually a bug but a problem
with the device driver.
* Anomalies.txt [1.11]:
removes clipping anomaly.
* pgdraw.c [1.29], pcpage.c [1.19]:
Rounding of device clip boxes and ctm translation components. Also,
modifies GL/2 to use a closed clipping region instead of the default
half-open region.
Wed Feb 17 08:00:00 1999 Henry Stiles henrys@artifex.com
* pgchar.c [1.8], pcursor.c [1.8], pcl.mak [1.21], pcjob.c [1.9], pcfont.c [1.9]:
modifications to support PCLXL processing of PJL.
Tue Feb 16 00:00:00 1999 Henry Stiles henrys@artifex.com
* pglabel.c [1.14]:
moves SR, SI line spacing hack to cursor positioning routine.
Sun Feb 14 08:00:00 1999 marcos@artifex.com
* rtraster.c [1.13]:
Added check for adaptive compression mode in transfer_raster_row()
to avoid duplicating last line of raster data (fixes fts.0717).
Sun Feb 14 06:00:00 1999 marcos@artifex.com
* rtraster.c [1.12]:
Fixed problem with adaptive compression (if the last command was repeat
previous row it was ignored, showed up in adaptivecompression.pcl).
Sat Feb 13 20:00:00 1999 Henry Stiles henrys@artifex.com
* pgdraw.c [1.28]:
hpgl/2 vector fills now support assymetric scaling properly.
* pgconfig.c [1.9]:
draws the current path when IP is issued.
* pglabel.c [1.13]:
corrects multiplier for cell height.
Sat Feb 13 06:00:00 1999 Henry Stiles henrys@artifex.com
* pglabel.c [1.12]:
modified to properly handle label placement with SI, SR.
Sat Feb 13 05:00:00 1999 Henry Stiles henrys@artifex.com
* pglfill.c [1.10]:
removes obsolete comment.
Sat Feb 13 00:00:00 1999 Henry Stiles henrys@artifex.com
* pgfont.c [1.3], pgdraw.c [1.27]:
all labels use round caps and round joins.
Fri Feb 12 05:00:00 1999 Henry Stiles henrys@artifex.com
* rtraster.c [1.11]:
removes optimization that prints raster as rectangle. The code only
worked properly with short edge feed devices. We might reimplement
this in the future if this part of the code is indeed a performance
bottleneck.
Fri Feb 12 03:00:00 1999 Henry Stiles henrys@artifex.com
* pgvector.c [1.7], pgstate.h [1.6], pglfill.c [1.9], pglabel.c [1.11],
pginit.c [1.10], pgdraw.c [1.26], Anomalies.txt [1.10]:
Improvement of fill line anchoring in gl/2. Now use gl/2's position
in user space instead of tracking device space position, which
resulted in rounding errors when tranforming and doing comparisons.
Label code updated to use gl/2 line drawing instead of using gs
functions directly. Also we now draw the current path when the for
relative/absolution mode changes in the pen. Updates Anomalies.txt to
reflect changes.
Thu Feb 11 18:00:00 1999 ray@artifex.com
* pcl.mak [1.20]:
Remove the extra space after $(O_). This messes up platforms which cannot
have a space. Correct fix is to define O_ correctly for platforms that
require a space. See common/unixdefs.mak where O_=-o $(NULL).
Mon Feb 8 09:00:00 1999 Henry Stiles henrys@artifex.com
* pcsfont.c [1.9], pcparse.c [1.4]:
Quiets pcl in DEBUG mode.
Sun Feb 7 09:00:00 1999 Henry Stiles henrys@artifex.com
* pglfill.c [1.8], pglabel.c [1.10], pgdraw.h [1.7], pgdraw.c [1.25], pgchar.c [1.7]:
Addition to properly select and wrap the current pen. Adds an
accessor function for getting the currently selected pen.
* pcpatrn.c [1.15]:
Sample implementation of driver configuration.
* Anomalies.txt [1.9]:
removes bezier problem.
Sun Feb 7 08:00:00 1999 Henry Stiles henrys@artifex.com
* pgdraw.c [1.24]:
fixes a stupid typo that was messing up the clipping region in gl/2.
Fri Feb 5 18:00:00 1999 marcos@artifex.com
* pcl.mak [1.19]:
Added space for solaris gcc: $(O_) $(PCLOBJ).
Fri Feb 5 06:00:00 1999 Henry Stiles henrys@artifex.com
* pgdraw.c [1.23]:
set dot orientation immediately after setting the ctm.
* pgvector.c [1.6]:
a hack to clear the current path before printing bezier curves. The
drawing machinery is not set up to apply line joins between lines and
curves. Lines of zero length are frequently used to set up for
drawing a bezier. We clear these points so they will not print as
"orthogonal dots".
Thu Feb 4 00:00:00 1999 Henry Stiles henrys@artifex.com
* pgdraw.c [1.22], pcpage.c [1.18]:
intersect pcl's clipping region with the hardware margins.
Mon Feb 1 19:00:00 1999 marcos@artifex.com
* pcl_ugcc.mak [1.19]:
Added bmpa32b.dev device.
Mon Feb 1 19:00:00 1999 Henry Stiles henrys@artifex.com
* Anomalies.txt [1.8]:
updates for recent fixes.
Mon Feb 1 02:00:00 1999 Henry Stiles henrys@artifex.com
* pgdraw.c [1.21]:
modifications to support dot orientation. HPGL/2 dots (zero length
lines) are always drawn parallel to the HPGL/2 X-axis. Also, makes
dot orientation independent of device space.
Sun Jan 31 06:00:00 1999 Henry Stiles henrys@artifex.com
* rtmisc.c [1.5], pgvector.c [1.5], pglabel.c [1.9], pgdraw.h [1.6], pgdraw.c [1.20],
pgconfig.c [1.8], pgchar.c [1.6]:
Properly update carriage return position when entering HPGL/2 with the
the current pcl cap. Provides a function for updating a carriage
return position to the current position.
Sat Jan 30 22:00:00 1999 Henry Stiles henrys@artifex.com
* pccrd.c [1.8]:
removes redundant call to initialize the crd.
Fri Jan 29 22:00:00 1999 Henry Stiles henrys@artifex.com
* pccrd.c [1.7]:
use the new interface to initialize a new crd derived from an old one.
Wed Jan 27 07:00:00 1999 Henry Stiles henrys@artifex.com
* pcpage.c [1.17]:
added warning message if the bbox is not installed properly.
Mon Jan 18 07:00:00 1999 Henry Stiles henrys@artifex.com
* rtraster.c [1.10], pgdraw.c [1.19], pctext.c [1.14], pcstate.h [1.10],
pcrect.c [1.7], pcpage.c [1.16], pcmain.c [1.22], pcht.c [1.11]:
Properly installs the bbox device and removes the "dubious" dirty page
optimization that avoided using the bbox device to check if a page was dirty.
Mon Jan 18 05:00:00 1999 Henry Stiles henrys@artifex.com
* pcdraw.c [1.9]:
fixes comment.
Sat Jan 16 07:00:00 1999 Henry Stiles henrys@artifex.com
* pcl_top.mak [1.12]:
updates version number.
Thu Jan 14 08:00:00 1999 Henry Stiles henrys@artifex.com
* NEWS-PCL [1.13]:
chinook check-in.
Version 1.05 (01/14/99)
======================
Mon Jan 11 16:00:00 1999 Henry Stiles henrys@artifex.com
* pgdraw.c [1.18], pcpatrn.c [1.14], pcdraw.c [1.8]:
pattern_set_pen() modified to correctly install CIE color spaces for
pcl raster, as suggested by jan.
* pccid.c [1.6]:
normalizing min and max ranges is only necessary for the RGB
colorimetric color space.
Mon Jan 11 15:00:00 1999 Henry Stiles henrys@artifex.com
* pglfill.c [1.7]:
line pattern was not specified correctly.
Mon Jan 9 07:00:00 1999 Henry Stiles henrys@artifex.com
* pcmain.c [1.21]:
Explicitly closes pcl's target device, forwarding devices like the
color mapper do not close the target device automatically.
Mon Jan 6 22:00:00 1999 Marcos H. Woehrmann marcos@artifex.com
* pcmain.c [1.20], pcl_top.mak [1.11]:
Fixed problem with version number under msvc (and watcom).
Mon Jan 5 23:00:00 1999 Henry Stiles henrys@artifex.com
* pglfill.c [1.6]:
hpgl_RF() was not properly saving and restoring the index when the
parser ran out of data and reinvokes hpgl_RF().
Mon Jan 4 14:00:00 1999 Henry Stiles henrys@artifex.com
* pcmain.c [1.19], pcl_top.mak [1.10]:
Version number and build date for PCL.
Mon Jan 4 05:00:00 1999 Henry Stiles henrys@artifex.com
* pgdraw.c [1.17]:
pixel placement was being applied in gl/2 to graphical objects other
than polygons.
* Anomalies.txt [1.7]:
updates anomalies.
* pgconfig.c [1.7]:
PP is not reset by IN on the color laserjet but is on the 6MP.
* pcpatrn.c [1.13], pccsbase.c [1.8], pccid.c [1.5]:
normalizes min max range value when they are parsed from the long form
of the cid command. Previously the decode procedures accounted for
the normalization. Also a hack in pcpatrn.c to force install of cie
even if the current pen is white. The last change is incorrect and
will take a different form in the next release.
Mon Dec 29 02:00:00 1998 Henry Stiles henrys@artifex.com
* pglabel.c [1.8]:
ES (extra space) is independent of the current text direction.
Mon Dec 23 08:00:00 1998 Henry Stiles henrys@artifex.com
* pcmain.c [1.18]:
changes to use gs standard i/o - gs_stderr, gs_stdout, and gs_stderr.
Mon Dec 23 00:00:00 1998 Henry Stiles henrys@artifex.com
* pgdraw.c [1.16]:
removes unwanted debugging print statements mistakenly added to the
last revision.
Mon Dec 22 20:00:00 1998 Henry Stiles henrys@artifex.com
* pcl_watc.mak [1.5], pcl_ugcc.mak [1.18], pcl_top.mak [1.9], pcl_sgi.mak [1.7],
pcl_msvc.mak [1.4]:
Prefixes devices with $(DD) and moves zlib configuration variable
initialization to the to the top level unix makefiles. Someone else
will need to check the other makefile systems. This change requires
that we set ZLIB variable in # PLATFORMS SUPPORTED * 2 (pcl and XL)
places instead of one, but will allow the code to be compiled with
gs5.66.
* pginit.c [1.9]:
adds warning message for resetting the picture frame. This is handled
directly by the picture frame and plot size commands.
Mon Dec 22 19:00:00 1998 Henry Stiles henrys@artifex.com
* pgvector.c [1.4]:
replaces explicit setting of the ctm with clearing the current path
which has the same result for the ctm but also updates gl/2's current
path to the correct state. Specifically, CI adds a point to the path
for positioning after drawing to set the current position to the
center of the circle. It is not necessary to leave this moveto in the
path, adding the point has already updated the current position.
* pgdraw.c [1.15]:
(1) comments to indicate setting of the current line width is wrong,
(2) Saves and restores the CTM "around" setting plu ctm and stroking
gl line fills, and (3) adds warning message for bogus picture frame.
* Anomalies.txt [1.6]:
identifies fts 2080 anomaly.
* pgframe.c [1.5]:
Reorganizes picture frame and plot size logic.
Mon Dec 18 17:00:00 1998 Henry Stiles henrys@artifex.com
* pcl_ugcc.mak [1.17]:
adds full color bmp asyncronous device.
* pcstate.h [1.9], pcommand.c [1.9], pcmain.c [1.17], pcl.mak [1.18], pcht.c [1.10],
pccrd.c [1.6]:
Change to set the target device in pcl's state. Adds accessor
functions to set and get the target device. Modifies all put param
like functions in pcl to use the real device.
Mon Dec 16 08:00:00 1998 Henry Stiles henrys@artifex.com
* pcl_ugcc.mak [1.16]:
add cljet5 device.
Mon Dec 2 21:00:00 1998 Henry Stiles henrys@artifex.com
* NEWS-PCL [1.12]:
news file update.
Version 1.04 (12/01/98)
======================
Mon Nov 30 23:23:29 1998 Henry Stiles <henrys@meerkat>
* pcl_msvc.mak: adds new drivers for MSVC builds.
* pcpage.c: removed unused variable.
* pgchar.c, pgdraw.c, pgmisc.h:
adds accessor function to get the current pen for character fill edge
mode.
* pcursor.c, pcjob.c: adds stdlib and documents its use for atoi().
* Anomalies.txt: updates for fixed bugs and a spell check.
* pcl_ugcc.mak: changes order of devices.
Thu Nov 26 19:54:46 1998 Henry Stiles <henrys@meerkat>
* pcfont.c, pcjob.c, pcpage.c:
changed to use pjl_compare() instead of strcmp().
* pcl_ugcc.mak:
asynchronous drivers are now included by default on unix platforms.
* Anomalies.txt: updated for recent bug fixes.
Tue Nov 24 23:24:22 1998 Henry Stiles <henrys@meerkat>
* rtraster.c, rtgmode.c, pcwhtidx.c, pcwhtidx.h, pcuptrn.c, pcpatrn.c, pcpatrn.h, pcindxed.h, pcpalet.h, pcindxed.c:
changes #inlclude to 8.3
* Attic/pcwhtindx.h, Attic/pcindexed.c, Attic/pcindexed.h, Attic/pcwhtindx.c:
removes >8.3 file names.
* pgdraw.c: hpgl_rm_vector_fill was not handled properly.
* pgframe.c:
factors out common code for side effect of changing the picture frame. And fixes a fixes bug where we were not setting the default plot size correctly.
* pginit.c: provides initialization for the plot size being set.
* pcindxed.h, pcwhtidx.c, pcwhtidx.h, pcindxed.c, pcl.mak:
canonicalizes filenames to 8.3 and fixes clean makes for msvc.
Thu Nov 19 06:16:42 1998 Henry Stiles <henrys@meerkat>
* pgdraw.c:
We now correctly implement the background of hpgl/2 vector fills.
Strangely HP draws the backgrounds with an opaque or transparent white
depending on the current transparency mode.
* pcursor.c: pcl support for pjl formlines.
* pgconfig.c, pggeom.h:
hpgl_PS command #ifdef in for the sole purpose of being able to print
large plot sizes for RTL customers.
* pcpage.c, pcstate.h: First cut at wide a4 implementation.
Sun Nov 8 09:00:53 1998 Henry Stiles <henrys@meerkat>
* NEWS-PCL: *** empty log message ***
Thu Nov 5 21:50:43 1998 Henry Stiles <henrys@meerkat>
* pgvector.c:
bezier curves appear to be hardwired to no joins - they do not use the current LA setting for join type
* pgdraw.c, pgchar.c:
fixes for character edging the pen was not being defaulted correctly in CF and the hpgl/2 drawing machinery was filling the character in addition to stroking hpgl/2 vector fills
Thu Nov 5 06:57:31 1998 Marcos H. Woehrmann <marcos@meerkat>
* pcfont.c: Added /winnt/fonts/ to tt font search path.
Version 1.03 (11/06/98)
=====================
Thu Nov 5 21:50:43 1998 Red Hat Linux User <henrys@warthog>
* pgvector.c:
bezier curves appear to be hardwired to no joins - they do not
use the current LA setting for join type
* pgdraw.c, pgchar.c:
fixes for character edging the pen was not being defaulted
correctly in CF and the hpgl/2 drawing machinery was filling the
character in addition to stroking hpgl/2 vector fills
Thu Nov 5 06:57:31 1998 marcos <marcos@warthog>
* pcfont.c: Added /winnt/fonts/ to tt font search path.
Thu Nov 5 05:48:16 1998 Red Hat Linux User <henrys@warthog>
* pcpage.c: adds a call to erase page after new paper size is
called.
Tue Nov 3 08:01:38 1998 Red Hat Linux User <henrys@warthog>
* pctext.c, pcfsel.c:
returns in error instead of noting an error if symbol mapping
fails
* pcmain.c: forgetting to close the device at the end of processing
Fri Oct 30 22:49:06 1998 Red Hat Linux User <henrys@warthog>
* pccsbase.c: normalizes ranges to (0,1) for independent color spaces
Sun Oct 25 08:05:36 1998 Red Hat Linux User <henrys@warthog>
* pcmain.c: proper usage of debugging memory switches
* rtraster.c: better bit twiddling for performance
Fri Oct 16 15:41:39 1998 Red Hat Linux User <henrys@warthog>
* pcmain.c: "canocalizes" args to **args.
* pgdraw.h: adds prototype for exported function hpgl_close_path().
* pglabel.c:
corrects a parameter mismatch with fetching the next
character. This code was not updated when the gs text interface
changed in 550.
* pcpage.c, pcsfont.c: removes an incorrect const qualifier.
* pccsbase.c, pcindexed.c: corrects improper aggregate initialization.
* pcl.mak: reviewed and added new include file dependencies.
* pgstate.h: removes obsolete boolean which detected a path
* pcjob.c, pcmtx3.c, pcommand.c, pgdraw.c, pcbiptrn.c,
pccrd.c, pcfont.c, pctext.c, pcuptrn.c, rtraster.c, rtrstcmp.c:
adds include files for correct prototypes we also corrected a problem
in correctly detecting if a path was actually being rendered
Wed Oct 14 20:50:48 1998 Red Hat Linux User <henrys@warthog>
* pcpatrn.c: fixes benevolant type mismatch
Tue Oct 6 17:49:00 1998 Red Hat Linux User <henrys@warthog>
* pcmtx3.h: changes math.h to math_h.
Version 1.02 (10/05/98)
=====================
Mon Oct 5 02:12:39 1998 Red Hat Linux User <henrys@warthog>
* pcstate.h, pcsymbol.h, pcmain.c, pcommand.c, pcpage.c,
pcfsel.c, pcjob.c, pclfont.c, pcfont.c:
Updates for getting intitial state from the pjl environment.
* pcl_ugcc.mak: adds contone color laserjet device for
testing purposes
Sun Oct 4 06:50:52 1998 Red Hat Linux User <henrys@warthog>
* pgpoly.c, pgdraw.c, pctext.c:
a more conservative approach to page ejecting. The have_page
boolean was being updated to true unnecessarily
* pcfsel.c: Did not score symbol set correctly during font selection.
Version 1.01 (9/26/98)
=====================
Sat Sep 26 18:50:50 1998 Red Hat Linux User <henrys@warthog>
* Attic/pcl_conf.mak, pcl.mak, pcl_msvc.mak, pcl_top.mak, pcl_watc.mak:
changes to support msvc builds
Version 1.00 (9/18/98)
=======================
Fri Sep 18 06:22:58 1998 Henry Stiles <henrys@meerkat>
* All files
* Removes ghostscript license and replaces it with the shorter
Aladdin license notice.
* pcindexed.h, rtgmode.c, pcfrgrnd.c, pcindexed.c:
Changes a variable name from fixed to pfixed to avoid a spurious
warning from the Solaris C compiler.
* pcl.mak:
corrected typos in dependency lists and removes ghostscript
copyright notice.
Tue Sep 15 07:04:00 1998 Henry Stiles <henrys@meerkat>
* pcl_ugcc.mak: adds tiff devices to the makefile.
* Anomalies.txt: A new file that describes known anomalies.
Mon Sep 14 05:28:27 1998 Henry Stiles <henrys@meerkat>
* pcpatrn.c:
sets pen to 1 if the pen number equals the number of entries in the
palette.
Sun Sep 13 05:51:08 1998 Henry Stiles <henrys@meerkat>
* rtraster.c, rtrstcmp.c, pgdraw.c, pcpatxfm.c, pcrect.c,
pctext.c, pcwhtindx.c, pgcolor.c, pgconfig.c, pcl.mak, pcl_ugcc.mak,
pcmain.c, pcmtx3.c, pcpalet.c, pcpatrn.c, pcht.c, pcindexed.c,
pccid.c, pccprint.c, pccsbase.c:
adds color laserjet driver, fixes makefile header file
dependency typos and, removes unused variables.
Sat Sep 12 08:09:46 1998 Henry Stiles <henrys@meerkat>
* pcpage.c: modification so that pcl can request page sizes.
* pcparam.h: modifications so pcl can request page sizes.
Fri Sep 11 03:42:59 1998 Henry Stiles <henrys@meerkat>
* pcpage.c, pcparam.h:
reverts page device media changes to support cljet5.
Thu Sep 10 17:07:39 1998 Henry Stiles <henrys@meerkat>
* pcl_msvc.mak: adds broken msvc files for shipment to johnd's.
* pcpatrn.c: removes SGI NFS null from the end of a file.
* pcl_ugcc.mak: removes cljet driver temporarily.
Tue Sep 8 07:35:55 1998 Red Hat Linux User <jan@meerkat>
* pcl.mak: adds .h file dependencies.
* pcl_top.mak: changes to not compile main with debug.
* pcsymbol.c:
We were allocating extra for the symbol set codes but they are
actually allocated through the structure allocation since the symbol
code array is defined statically.
* pctext.c:
Modified the handling of the right text margin. It turns out that the case
of no-line-wrap must be handle differently that the case in which line
wrapping is enabled.
* pcpatrn.c:
Fixed typo in pattern_set_shade_gl: a solid pattern should be used for
an unrecognized intensity if the intensity is > 0, not <= 0. This gave
rise to an anomally on panel 1815 of the PCL 5c FTS.
* pcpalet.c:
Modified invocations of pcl_crd_build_default_crd to pass a pcl_state_t
pointer rather than a memory structure pointer; see pccrd.h above.
* pcmain.c: Modified code to not always define DEBUG.
* pcindexed.c:
Modified the code to handle the situation in which the black and white
reference points for a component are the same. This is tested in the
PCL 5c FTS.
* pcht.h, pcht.c:
Changed from a single color mapping device to multiple color mapping
devices, one for each mapping type. This is needed because the
rendering method used by the foreground may be different from that used
by the palette (which, in turn, is used by a raster), so it is necessary
to have two different color mapping device present at the same time.
Added support for table-dither (mask, non-monotonic) halftones to be
used with the (not fixed) built-in rendering methods.
Added code to allow device-specific halftones and re-mapping arrays
encoded as gs_param dictionaries to be read from the device on start-up.
Added support for table dither halftones. Also provided a structure
descriptor for pcl_ht_builtin_dither_t structures, as these may now need
to be allocated when read from a device.
* pccrd.c, pccrd.h:
Added facility to read a device-specific CRD encoded as a gs_param
dictionary.
Changed the operand to pcl_crd_build_default_crd from a memory pointer
to a pcl_state_t pointer. This is necessary to allow the default dictionary
to be read from a device.
Mon Sep 7 02:02:19 1998 Henry Stiles <henrys@meerkat>
* pcsfont.c: bad revision.
Sun Sep 6 19:50:14 1998 Henry Stiles <henrys@meerkat>
* pcsymbol.c:
fixes memory allocation problem introduced because a new field was
added to the symbol set data structure.
Sat Sep 5 05:55:09 1998 Henry Stiles <henrys@meerkat>
* pcpage.c, pcparam.h, pcommand.c, pcl_sgi.mak, pcl_ugcc.mak:
modifications to support paper size specification from pcl.
Fri Sep 4 02:47:44 1998 Red Hat Linux User <jan@meerkat>
* pcl.mak: add new header file dependencies.
Fri Sep 4 02:45:08 1998 Henry Stiles <henrys@meerkat>
* pcl.mak: update documentation.
Fri Sep 4 02:39:01 1998 Red Hat Linux User <jan@meerkat>
* pcl_top.mak: adds decmap device.
* pcsymbol.c: Modified pcsymbol_do_reset to support overlay macros.
* pcbiptrn.c, pcbiptrn.h:
Modified the shade pattern for the 11% - 20% case; this had been entered
incorrectly previously.
Added the "un-solid" pattern. This is a masked patter that has no
foreground pixels. It is used with GL/2, as a solid white foreground
is transparent in GL/2 (if GL's "source transparency" is set), but
opaque in PCL.
Added prototype for the pcl_pattern_get_unsolid_pattern.
* pccprint.c:
Modified the code for the pixel placement operator for the new manner
in which pixel placement information is kept in the PCL state.
Modified the pccprint_do_reset routine to support overlay macros.
* pcdraw.c:
Added code to handle GL/2's source transparency separately from PCL's
pattern transparency. The two parameters have the same effect (all
GL/2 objects are masks, and hence do not support notion of "source"
transparency similar to PCL's), but must be maintained independently
in the PCL-GL/2 state.
Turned off fill-adjust for all PCL objects. This used to (incorrectly)
implement pixel placement, which is now implemented directly for
rectangles (the only object affected by pixel placement for most
printers (the CLJ 5/5M allows pixel placement to also affect scalable
characters)).
* pcht.c:
Modified to support color-mapping as part of a rendering method, and to
support monochrome mode.
As part of this change, the never-used device field of the rend_info_t
structure is replaced with a color mapping parameter, which is used
with a color-mapping forwarding device that is always present.
To support monochrome mode, the nature of the remapping array has been
change somewhat, and the render_method field of the pcl_ht_t structure
modified to be the mapped rather than raw rendering method. Fields for
print mode (monochrome or color) and raw rendering method have been
added to the PCL state.
* pcht.h:
Added prototype for the new procedure pcl_ht_set_print_mode, which
can be used to set monochrome or colored print mode.
Changed the render_method field/operand to be unsigned.
* pcindexed.h, pcindexed.c:
Generalixed the pcl_cs_indexed_0_is_{black | white} routines to check
for the blackness or whiteness of any entry. The routines are now know
as pcl_cs_indexed_is_{black | white}. Replaced prototypes for
pcl_cs_indexed_0_is_{black | white} with those for
pcl_cs_indexed_is_{black | white}. Defined macros to correspond to the
former prototypes, for backwards compatibility.
* pcfont.c, pcmacros.c, pcjob.c:
Modified pcmacros_do_reset to support overlay macros.
* pcmain.c:
Added a pair of calls to gs_reclaim prior to running the first job.
This is very important; until gs_reclaim is called for the first time,
freed string objects are not recovered. Hence, the memory they use
is lost.
Added some debugging code to assist with memory leak detection.
* pcmisc.c: Modified pcmisc_do_reset to support overlay marcos.
* pcommand.c:
Modifed pcl_init_state for the deletion of the grid_adjust field and the
addition of the addition of the monochrome_mode and render_mode fields
in the graphic state.
* pcpage.c:
Modified print quality command (<esc> * o # Q) to home the cursor.
Modified pcpage_do_reset to support overlay macros.
* pcpalet.c: Added command for setting monochrome/normal print mode.
Modified pcl_palette_set_render_method to reflect the addition of
the render_mode field in the PCL state.
Modified palette_do_reset to support overlay macros.
* pcpalet.h: Changed render_method operand to be unsigned.
* pcpatrn.c:
Modified pattern_set_gl_RF to account for the fact that patterns defined
with the RF command may be either masked or colored patterns, and in the
former case are fully transparent if GL/2's source transparency is set and
the current pen is white. Also modified this routine to use the current
pen if the pattern does not exist, even if the applicable SV or FT command
specified using pen 1 (this requires a hack regarding the interpretation
of the current pen operand when it is negative).
Modified several other pattern_set_*_gl routines for mask patterns (shades,
cross-hatch, user-defined) to make these fully transparent if the current
pen is white.
Also modified pattern_do_reset to support overlay macros.
* pcrect.c:
Moved implementation of pixel placement for PCL objects to this module
(rectangles are the only PCL object affected by pixel placement in
this and most other PCL interpreters, including most but not all HP
implementations.
Modified pcrect_do_reset to support overlay macros.
* pcsfont.c: Modified pcsfont_do_reset to support overlay macros.
* pcstate.h:
Added pcl_pattern_transparent field, so that PCL's pattern transparency
setting and GL/2's source transparency setting may be separately
maintained.
Added the render_mode and monochrome_mode fields, to support the
monochrome/normal print mode selection command.
Replaced the grid_adjust field with the pp_mode field.
* pcstatus.c: Modified pcsymbol_do_reset to support overlay macros.
* pctext.c:
Removed no longer needed invocation of gs_setfilladjust (for PCL, fill
adjust is now always set to 0).
Modified pctext_do_reset to support overlay macros.
* pcuptrn.c:
Modified pcl_pattern_RF to handle both colored and uncolored patterns
created via the RF command.
* pcursor.c: Modified pcursor_do_reset to support overlay macros.
* pgconfig.c:
Split the hpgl_DF command into two sections, one of which is accessible
separately to support the reset required for overlay macros.
* pgdraw.c:
Modified the handling of patterns generated with the RF command to
allow both colored and uncolored variations.
Modified the manner in which the current pen is specified for
uncolored patterns generated via the RF command. If pen 1 is desired,
the opposite of the current pen is specified, to allow for the
possibility that the pattern may not exist.
Changed the handling of fill adjust to reflect the replacement of the
grid_adjust state parameter with pp_mode (note that the actual
implementation of pixel placement for GL objects is still broken).
* pginit.c: Added support for overlay macros.
* pglfill.c:
Modified hpgl_FT to read and use the second optional parameter for
mode 11 patterns (this is contrary to the documentation, but
consistent with the SV command and has been empirically verified on
two HP PCL implementations).
Modified hpgl_RF to allow for both colored and uncolored patterns.
* pgmand.h:
Added prototype for the new procedure hpgl_reset_overlay. This is used to
reset the GL/2 state prior to the execution of an overlay macro.
* pgstate.h:
1. Replaced the su_ union with the sp_ structure, and made the latter part
of the fp_ structure consistent with the sp_ structure. Though not
documented as such, for fills other than line fills the FT and SV
commands are symmetric.
2. Added the is_mask field to the rf_ structure. This is used to support
uncolored patterns created via the RF command.
* rtgmode.c: Modified gmode_do_reset to support overlay macros.
Tue Aug 25 19:18:59 1998 Henry Stiles <henrys@meerkat>
* pcl.mak: adds code to clean up gs generated files.
Mon Aug 24 08:03:18 1998 Henry Stiles <henrys@meerkat>
* pcl.mak:
removed device files from current working source directory that should
not exist there in the first place...
Mon Aug 24 07:36:32 1998 Red Hat Linux User <jan@meerkat>
* pglabel.c: whitespace difference.
* pcwhtindx.c:
Fixed a bug/memory leak in pcl_cmap_map_raster. If a new raster array was
allocated to hold the re-mapped pattern data, its pointer was never being
placed in *pout_pixinfo.
* pcuptrn.c:
1. Modified code to support (up to) two rendered instances per pattern:
one mask and one colored.
2. Modified the reset code to clear the pattern cache. This is an attempt
to limit memory fragmenation.
* pcpatrn.h:
Modified the pattern structure to be able to hold two rendered instances:
one colored and one uncolored. This is an attempt to reduce memory
thrashing due to the frequent and unnecessary re-allocation of mask
patterns.
* pcpatrn.c:
Modified to the pattern handling code to allow for two rendered instances
per pattern: one mask and one colored. This is an attempt to reduce
memory thrashing due to the frequent and unnecessary re-allocation of
mask patterns.
* pcpalet.c:
1. Fixed a pair of memory-related problems in the push/pop palette code:
pop palettes were erroneously getting an extra reference, and the
palette stack global was not being set to NULL after the palette had
been cleared.
2. Removed code in build_default_palette that undefined the current
palette before redefining it. This avoids a release/allocate operation
for a dictionary entry that otherwise would confuse the memory leak
detection tool.
3. Fixed a bug in a never-used case in pcl_palette_PW. If the palette
does not exist when this routine is called, it is created, but in the
earlier code the ppalet pointer was not being updated after the
creation.
4. Modified clear_palette_store to leave the current palette alone if it
already is the default palette. This simplifies work with the memory
leak detector. This change also moves the invocation of the
build_default_palette routine to this procedure from its various
callers.
* pcmain.c:
Moved the reporting points for the memory leak detection code to more
convenient locations.
* pcht.c:
Fixed a memory leak in set_threshold_ht. A fourth threshold string was
being generated to handle the case of a 4-color output device, but
this was overwritting the red-component threshold array allocated
previously. Not output error occurred because the two arrays were
meant to be the same, but the previously allocated array could no
longer be freed.
* pcfsel.c: *** empty log message ***
* pccolor.c:
Modified the set color component and assign color index commands to be
permitted but ignored in raster graphics mode (i.e.: they do not end
raster graphics mode). This is contrary to the documentation but
matches the behavior of the CLJ 5/5M and DJ 1600C/CM. The effect is
visible in PCL 5c FTS panel 845.
* pcindexed.c:
Fixed bug in pcl_cs_indexed_update_lookup_tbl. A new indexed color
space may have been created via the "unshare" operation, but the color
space pointer was never being updated. Hence, the lookup table was
being modified in the old color space. This bug is visible on PCL 5c
FTS panels 2410 and 2411.
* pcmain.c, pcindexed.c, pcl.mak, pcht.c, pcfsel.c, pccolor.c:
*** empty log message ***
Sun Aug 23 05:30:05 1998 Henry Stiles <henrys@meerkat>
* pgdraw.c:
Work around to stroke lines gl/2 style fills individually instead of
accumulating the entire fill in one path. This guarantees that a
fixed amount of memory will be used for fills. It was changed to fix
fts 1462 which creates a path that is much to large, not due to the
size of the graphical object being filled but the algorithm fills from
GL/2's anchor corner and clips the resulting fill to the graphical
object. We should find the equivalent maximum value for the anchor
corner such that the coordinates are less than the X and Y origin
coordinates of the bounding box of the object being filled.
Sun Aug 23 05:10:18 1998 Red Hat Linux User <jan@meerkat>
* rtraster.c:
Modified to properly (if quite slowly) handle the case of a raster with
source transaprency off but pattern transparency on.
* pcwhtindx.c:
Modified pcl_cmap_create_remap_ary to potentially provide a remap
array if source of pattern transparency is set. This is necessary to
support the "two part" image structure required for rendering images
with opaque source\ s but transparent patterns. Also removed a remnant
of the temporary hack that made all rasters opaque.
* pctext.c: fills in a missing else.
* pcpatrn.h:
Added the "colored" bit to the pattern object, to indicate if it was
rendered as a colored pattern.
* pcpatrn.c:
1. Moved the retained copy of the special white base color space to
pccsbase.c, and the retained copy of the default halftone to pcht.c.
This improves modularity and simplifies work with memory leak
detection tools.
2. Modified the rendering of uncolored, transparent, foreground
patterns. If the halftone or color rendering dictionary in the
foreground varies from that in the current palette, these must be
rendered as colored patterns (because the graphic library's state
cannot retain two halftones).
3. Plugged a memory leak in render_pattern: the pattern instance of
the previous pattern was not being released.
4. Added stub for the driver configuratioin command. This will absorb
any data provided.
* pcpalet.c:
Modified to retain a copy of the default palette, and to set the
default drawing color during initialization. This reduces memory
thrashing slightly and simplies work with memory leak detection tools.
* pcpage.c:
Modified new_page_size to reset the default transformation in the graphic
state. This is necessary for devices that feed different size sheets in
different directions.
* pcmain.c:
Removed initialization of the PCL coordinate system; this is now
handled in pcpage.c
* pcindexed.h:
Changed the third operand of pcl_cs_indexed_build_special to be a
const byte pointer rather than a byte pointer. Also added the
prototype for the new initialization routine pcl_cs_indexed_init.
* pcindexed.c:
Modified default pen widths to be in plotter units rather than
millemeters. Also modified to retain the default indexed color
space. This reduces memory thrashing slightly, and makes working
with memory leak detection tools simpler. The latter change requires
the addition of the an intialization procedure, pcl_cs_indexed_init.
* pcht.c:
Modified to provide a default transfer map (color lookup table) for
the default (K) component of the output. This is necessary to properly
handle cases in which the provided transfer function for the other
components is an inverting function, for otherwise the results will be
very black.
Also modified to maintain a copy of the default halftone, which is
allocated at boot time. This reduces memory trhashing slight, but more
significantly it greatly simplifies working with the memory leak
detection tools.
* pcfrgrnd.c:
Modified to retain a copy of the default foreground. This reduces
memory thrashing slightly, and more significantly simplifies work with
memory leak detection tools.
* pcdraw.c: Modified pcl_grestore to release the references held by the
pcl_gstate_ids_t structure that will be discarded. This plugs a major
memory leak.
VS: ----------------------------------------------------------------------
* pccsbase.h:
Added prototype for initialization routine pcl_cs_base_init.
* pccsbase.c: Modified to keep a copy of the special "white" color
space. Previously, this was kept in pcpatrn.c, which was not ideal
from a modularity point of view. As part of the change, an
initialization routine, pcl_cs_base_init, has been added.
Thu Aug 20 20:56:10 1998 Henry Stiles <henrys@meerkat>
* Anomalies.txt: remove cvs anomalies
* pglabel.c, pcindexed.c, pcmain.c:
changes default translation (pcmain.c) to put pcl's origin correctly
on devices that have a non-zero imageable area. Also, pcl was not
using the default plu to initialize line width and the character code
was not properly initializing the line width prior to stroking
"stroke" font characters.
|