summaryrefslogtreecommitdiff
path: root/ijs/ijs_spec.ps
blob: c464a9cb59aa2280e1659e3089ef5f2e22dae4e2 (plain)
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
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.86e Copyright 2001 Radical Eye Software
%%Title: ijs_spec.dvi
%%Pages: 16
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%DocumentFonts: Helvetica-Bold Times-Roman Times-Bold Times-Italic
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -q ijs_spec.dvi -o ijs_spec.ps
%DVIPSParameters: dpi=600, compressed
%DVIPSSource:  TeX output 2002.01.22:1612
%%BeginProcSet: texc.pro
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
(LaserWriter 16/600)]{A length product length le{A length product exch 0
exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end

%%EndProcSet
%%BeginProcSet: 8r.enc
% @@psencodingfile@{
%   author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry",
%   version = "0.6",
%   date = "1 July 1998",
%   filename = "8r.enc",
%   email = "tex-fonts@@tug.org",
%   docstring = "Encoding for TrueType or Type 1 fonts
%                to be used with TeX."
% @}
%
% Idea is to have all the characters normally included in Type 1 fonts
% available for typesetting. This is effectively the characters in Adobe
% Standard Encoding + ISO Latin 1 + extra characters from Lucida.
%
% Character code assignments were made as follows:
%
% (1) the Windows ANSI characters are almost all in their Windows ANSI
% positions, because some Windows users cannot easily reencode the
% fonts, and it makes no difference on other systems. The only Windows
% ANSI characters not available are those that make no sense for
% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen
% (173). quotesingle and grave are moved just because it's such an
% irritation not having them in TeX positions.
%
% (2) Remaining characters are assigned arbitrarily to the lower part
% of the range, avoiding 0, 10 and 13 in case we meet dumb software.
%
% (3) Y&Y Lucida Bright includes some extra text characters; in the
% hopes that other PostScript fonts, perhaps created for public
% consumption, will include them, they are included starting at 0x12.
%
% (4) Remaining positions left undefined are for use in (hopefully)
% upward-compatible revisions, if someday more characters are generally
% available.
%
% (5) hyphen appears twice for compatibility with both
% ASCII and Windows.
%
/TeXBase1Encoding [
% 0x00 (encoded characters from Adobe Standard not in Windows 3.1)
  /.notdef /dotaccent /fi /fl
  /fraction /hungarumlaut /Lslash /lslash
  /ogonek /ring /.notdef
  /breve /minus /.notdef
% These are the only two remaining unencoded characters, so may as
% well include them.
  /Zcaron /zcaron
% 0x10
 /caron /dotlessi
% (unusual TeX characters available in, e.g., Lucida Bright)
 /dotlessj /ff /ffi /ffl
 /.notdef /.notdef /.notdef /.notdef
 /.notdef /.notdef /.notdef /.notdef
 % very contentious; it's so painful not having quoteleft and quoteright
 % at 96 and 145 that we move the things normally found there to here.
 /grave /quotesingle
% 0x20 (ASCII begins)
 /space /exclam /quotedbl /numbersign
 /dollar /percent /ampersand /quoteright
 /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
% 0x30
 /zero /one /two /three /four /five /six /seven
 /eight /nine /colon /semicolon /less /equal /greater /question
% 0x40
 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O
% 0x50
 /P /Q /R /S /T /U /V /W
 /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
% 0x60
 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o
% 0x70
 /p /q /r /s /t /u /v /w
 /x /y /z /braceleft /bar /braceright /asciitilde
 /.notdef % rubout; ASCII ends
% 0x80
 /.notdef /.notdef /quotesinglbase /florin
 /quotedblbase /ellipsis /dagger /daggerdbl
 /circumflex /perthousand /Scaron /guilsinglleft
 /OE /.notdef /.notdef /.notdef
% 0x90
 /.notdef /.notdef /.notdef /quotedblleft
 /quotedblright /bullet /endash /emdash
 /tilde /trademark /scaron /guilsinglright
 /oe /.notdef /.notdef /Ydieresis
% 0xA0
 /.notdef % nobreakspace
 /exclamdown /cent /sterling
 /currency /yen /brokenbar /section
 /dieresis /copyright /ordfeminine /guillemotleft
 /logicalnot
 /hyphen % Y&Y (also at 45); Windows' softhyphen
 /registered
 /macron
% 0xD0
 /degree /plusminus /twosuperior /threesuperior
 /acute /mu /paragraph /periodcentered
 /cedilla /onesuperior /ordmasculine /guillemotright
 /onequarter /onehalf /threequarters /questiondown
% 0xC0
 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
 /Egrave /Eacute /Ecircumflex /Edieresis
 /Igrave /Iacute /Icircumflex /Idieresis
% 0xD0
 /Eth /Ntilde /Ograve /Oacute
 /Ocircumflex /Otilde /Odieresis /multiply
 /Oslash /Ugrave /Uacute /Ucircumflex
 /Udieresis /Yacute /Thorn /germandbls
% 0xE0
 /agrave /aacute /acircumflex /atilde
 /adieresis /aring /ae /ccedilla
 /egrave /eacute /ecircumflex /edieresis
 /igrave /iacute /icircumflex /idieresis
% 0xF0
 /eth /ntilde /ograve /oacute
 /ocircumflex /otilde /odieresis /divide
 /oslash /ugrave /uacute /ucircumflex
 /udieresis /yacute /thorn /ydieresis
] def

%%EndProcSet
%%BeginProcSet: texps.pro
%!
TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics
exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub
dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def}
ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict
end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{
dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1
roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def
dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}
if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}
def end

%%EndProcSet
%%BeginProcSet: special.pro
%!
TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
{userdict/md get type/dicttype eq{userdict begin md length 10 add md
maxlength ge{/md md dup length 20 add dict copy def}if end md begin
/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
save N userdict maxlength dict begin/magscale true def normalscale
currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{
psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict
begin/SpecialSave save N gsave normalscale currentpoint TR
@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{
CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N
/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end}
repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N
/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX
currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY
moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X
/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0
1 startangle endangle arc savematrix setmatrix}N end

%%EndProcSet
%%BeginProcSet: color.pro
%!
TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop
setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll
}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def
/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{
setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{
/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch
known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC
/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC
/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0
setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0
setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61
0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC
/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0
setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87
0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{
0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{
0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC
/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0
setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0
setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90
0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC
/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0
setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0
0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{
0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{
0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC
/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0
setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC
/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0
0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1
0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11
0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0
setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0
0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC
/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0
setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0
0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0
1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC
/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0
setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{
0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor}
DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70
setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0
setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1
setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end

%%EndProcSet
TeXDict begin 39158280 55380996 1000 600 600 (ijs_spec.dvi)
@start
%DVIPSBitmapFont: Fa cmmi9 9 2
/Fa 2 63 df<171C177EEE01FEEE07FCEE1FF0EE7FC0923801FF00ED07FCED1FF0ED7FC0
4A48C7FCEC07FCEC1FF0EC7FC04948C8FCEB07FCEB1FF0EB7FC04848C9FCEA07FCEA1FF0
EA7FC048CAFCA2EA7FC0EA1FF0EA07FCEA01FF38007FC0EB1FF0EB07FCEB01FF9038007F
C0EC1FF0EC07FCEC01FF9138007FC0ED1FF0ED07FCED01FF9238007FC0EE1FF0EE07FCEE
01FEEE007E171C2F2E7AA93C>60 D<127012FCB4FCEA7FC0EA1FF0EA07FCEA01FF38007F
C0EB1FF0EB07FCEB01FF9038007FC0EC1FF0EC07FCEC01FF9138007FC0ED1FF0ED07FCED
01FF9238007FC0EE1FF0EE07FCEE01FEA2EE07FCEE1FF0EE7FC0923801FF00ED07FCED1F
F0ED7FC04A48C7FCEC07FCEC1FF0EC7FC04948C8FCEB07FCEB1FF0EB7FC04848C9FCEA07
FCEA1FF0EA7FC048CAFC12FC12702F2E7AA93C>62 D E
%EndDVIPSBitmapFont
/Fb 133[60 66 66 1[66 73 40 66 47 1[73 73 73 106 33 2[33
73 73 40 66 73 66 73 66 1[66 5[80 80 113 1[86 73 80 86
93 80 93 86 100 73 86 66 33 86 93 73 80 86 86 86 86 6[40
66 66 66 66 66 66 66 66 66 66 1[33 46[{TeXBase1Encoding ReEncodeFont}59
119.552 /Helvetica-Bold rf /Fc 134[46 2[46 51 28 46 32
2[51 51 74 23 2[23 1[51 1[46 51 46 51 46 10[55 2[55 4[60
69 6[51 55 1[60 64[51 2[{TeXBase1Encoding ReEncodeFont}25
83.022 /Helvetica-Bold rf /Fd 137[37 42 23 32 32 1[42
42 42 60 23 2[23 42 42 23 37 42 37 1[42 11[60 1[42 51
1[51 2[69 46 1[37 28 2[51 51 60 55 51 7[28 42 42 42 42
42 42 42 42 42 42 23 21 28 42[42 2[{TeXBase1Encoding ReEncodeFont}46
83.022 /Times-Italic rf /Fe 134[33 33 50 33 37 21 29
29 1[37 37 37 54 21 33 21 21 37 37 21 33 37 33 37 37
9[62 2[42 37 46 1[46 1[50 1[42 1[33 25 54 3[54 1[46 46
1[37 1[50 2[25 37 2[37 3[37 37 37 1[19 25 19 1[37 25
25 25 36[37 2[{TeXBase1Encoding ReEncodeFont}53 74.7198
/Times-Italic rf /Ff 135[42 2[46 28 32 37 1[46 42 46
69 23 2[23 46 42 28 37 46 37 46 42 9[83 60 1[55 46 4[60
3[42 32 3[55 60 60 14[42 42 42 42 2[21 46[{
TeXBase1Encoding ReEncodeFont}34 83.022 /Times-Bold rf
/Fg 107[37 37 22[17 1[37 42 42 60 42 42 23 32 28 42 42
42 42 65 23 42 23 23 42 42 28 37 42 37 42 37 1[42 1[28
23 28 51 60 60 78 60 60 51 46 55 60 46 60 60 74 51 60
32 28 60 60 46 51 60 55 55 60 3[47 2[23 42 42 42 42 42
42 42 42 42 42 23 21 28 21 2[28 28 28 1[69 1[42 34 30[46
46 2[{TeXBase1Encoding ReEncodeFont}83 83.022 /Times-Roman
rf /Fh 135[80 112 80 88 48 80 56 1[88 88 88 128 40 80
1[40 88 88 1[80 88 80 1[80 9[135 3[96 104 1[96 1[104
1[88 2[40 3[96 3[104 9[80 80 80 80 80 80 80 2[40 46[{
TeXBase1Encoding ReEncodeFont}37 143.462 /Helvetica-Bold
rf /Fi 104[172 35[96 67 2[105 105 4[48 3[96 3[96 10[115
11[96 18[96 3[96 96 96 96 1[48 46[{TeXBase1Encoding ReEncodeFont}16
172.154 /Helvetica-Bold rf /Fj 139[69 1[80 1[126 126
126 1[57 2[57 3[115 1[115 1[115 13[138 2[138 5[115 57
70[126 2[{TeXBase1Encoding ReEncodeFont}15 206.584 /Helvetica-Bold
rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%PaperSize: A4

%%EndSetup
%%Page: 1 1
1 0 bop Black 0 TeXcolorgray Black Black 867 140 a Fj(IJS)58
b(Pr)l(otocol)g(Speci\002cation)1021 493 y Fi(V)-9 b(er)m(sion)48
b(0.32)f(\227)h(17)f(Jan)h(2002)1714 769 y Fh(Raph)39
b(Le)n(vien)396 1126 y Fg(This)21 b(document)d(contains)h(a)i
(speci\002cation)e(for)h(the)g(IJS)h(protocol,)d(which)i(is)h(intended)
e(to)h(mak)o(e)g(it)h(easier)f(to)g(deplo)o(y)396 1234
y(raster)n(-based)f(printer)h(dri)n(v)o(ers)f(in)h(a)g(wide)h(v)n
(ariety)e(of)h(en)m(vironments,)d(including)h(Unix)i(desktops.)-2
1730 y Fh(1.)39 b(Intr)m(oduction)396 2004 y Fg(IJS)21
b(is,)g(\002rst)g(and)f(foremost,)e(a)j(protocol)d(for)i(transmission)f
(of)h(raster)g(page)g(images.)g(The)f(protocol)g(is)i(a)g(f)o(airly)396
2111 y(traditional)e(client-serv)o(er)g(design.)g(In)h(general,)f(the)h
(client)g(sends)g(one)g(or)g(more)f(page)h(images)g(to)g(the)g(serv)o
(er)m(,)f(along)396 2219 y(with)i(v)n(arious)e(metadata.)g
(Communication)f(is)j(through)d(simple)i(\223commands\224,)e(which)i
(are)g(essentially)396 2327 y(size-pre\002x)o(ed)f(pack)o(ets.)g(The)h
(client)g(sends)h(a)f(command)e(to)j(the)f(serv)o(er)m(,)f(then)g(w)o
(aits)j(for)d(a)i(response)e(command,)396 2435 y(either)h(A)m(CK)h(or)f
(N)m(AK.)396 2709 y(Since,)g(in)g(the)g(typical)f(IJS)i(scenario,)e
(there)g(is)i(only)e(one)g(client)h(for)f(an)o(y)g(gi)n(v)o(en)g(serv)o
(er)m(,)f(it)j(may)e(be)h(helpful)f(to)h(denote)396 2817
y(the)g(client)h(role)f(as)g("master")g(and)g(the)g(serv)o(er)f(role)h
(as)h("sla)n(v)o(e".)f(Ho)n(we)n(v)o(er)m(,)e(this)j(document)d(uses)j
(the)f(terms)g("client")396 2925 y(and)g("serv)o(er".)396
3199 y(On)g(Unix)g(systems,)h(the)f(serv)o(er)f(\223speaks\224)h(IJS)h
(through)d(stdin)i(and)g(stdout.)f(One)h(consequence)e(of)i(this)h
(design)396 3307 y(decision)f(is)h(that)f(the)g(serv)o(er)g(can)g(be)g
(in)m(v)n(ok)o(ed)e(remotely)-5 b(,)18 b(for)i(e)o(xample)f(through)f
Ff(ssh)p Fg(.)p Black -85 3425 a Fe(*)p Black 46 w(It')m(s)g(not)h
(clear)g(yet)g(how)g(useful)h(this)e(will)g(be)o(,)h(b)o(ut)g(at)g
(least)g(people)g(can)h(e)o(xperiment)f(with)g(it.)396
3699 y Fg(Other)h(forms)g(of)f(communication)f(\(such)h(as)i(domain)e
(sock)o(ets\))h(may)g(be)g(useful,)f(as)i(well,)g(b)n(ut)f(are)g(not)g
(speci\002ed)g(in)396 3807 y(this)h(v)o(ersion.)396 4081
y(There)f(are)g(also)g(a)h(lar)o(ge)e(number)f(of)i(things)g(that)g
(the)h(IJS)f(speci\002cation)g(does)g Fd(not)h Fg(address.)f(It)g(does)
g(not)g(pro)o(vide)396 4189 y(strings)g(for)g(a)h(UI)f(\(although)e
(the)i(parameter)f(names)h(and)f(v)n(alues)h(may)g(be)g(used)g(as)h(a)f
(f)o(allback)g(when)f(higher)n(-le)n(v)o(el)396 4297
y(mechanisms)g(designed)g(to)i(pro)o(vide)d(these)i(f)o(ail\).)g(It)h
(does)f(not)f(address)h(the)g(task)h(of)f(disco)o(v)o(ering)d(printers)
j(or)396 4405 y(dri)n(v)o(ers.)f(It)h(is)i(not)d(designed)g(to)i
(dispatch)e(jobs)h(to)h(multiple)e(printers.)g(It)i(does)f(not)g(pro)o
(vide)e(queue)h(management)396 4513 y(features.)h(It)g(does)g(not)g
(address)g(higher)e(le)n(v)o(el)i(imaging)f(models,)h(or)f(fonts.)h
(These)g(are)g(important)f(components)f(of)i(a)396 4621
y(printing)f(system,)h(and)g(should)f(be)h(addressed)f(by)h(other)f
(modules)g(and)h(interf)o(aces.)p Black 3842 5569 a Fd(1)p
Black eop
%%Page: 2 2
2 1 bop Black 0 TeXcolorgray Black 3020 -132 a Fd(IJS)20
b(Pr)l(otocol)f(Speci\002cation)p Black -2 94 a Fh(2.)39
b(Wire)h(pr)m(otocol)396 368 y Fg(After)20 b(a)h(brief)e
(initialization)h(handshak)o(e,)e(all)j(IJS)g(communication)c(occurs)i
(through)f Fd(commands)p Fg(.)h(Most)h(of)g(these)396
476 y(are)g(sent)h(from)e(the)h(client)g(to)h(the)f(serv)o(er)m(,)f(b)n
(ut)h(three)g(\(IJS_CMD_PONG,)f(IJS_CMD_A)m(CK,)h(and)396
584 y(IJS_CMD_N)m(AK\))g(are)g(sent)g(from)g(the)g(serv)o(er)f(to)h
(the)h(client.)396 858 y(W)m(ith)g(the)f(e)o(xception)e(of)i
(IJS_CMD_PING,)g(the)g(appropriate)e(response)h(to)h(a)h(command)d
(sent)j(from)e(the)h(serv)o(er)f(is)396 966 y(either)h(IJS_CMD_A)m(CK)g
(or)g(IJS_CMD_N)m(AK.)396 1240 y(The)g(initialization)g(handshak)o(e)e
(is)j(as)g(follo)n(ws.)f(First,)g(the)g(client)h(sends)f(the)g(string)g
("IJS\\n\\252v1\\n")d(\(with)j(C)396 1348 y(backslash)g(escaping\).)e
(Upon)i(receipt)f(of)h(this)h(string,)f(the)g(serv)o(er)f(sends)h(the)h
(string)e("IJS\\n\\253v1\\n".)f(At)i(this)396 1456 y(point,)f(the)i
(client)f(may)g(send)g(IJS)g(commands)f(to)h(the)g(serv)o(er)-5
b(.)396 1730 y(IJS)21 b(is)g(designed)e(to)h(ha)n(v)o(e)g(a)h(simple)f
(wire)g(encoding.)e(Inte)o(gers)h(are)h(encoded)e(as)j(32-bit)e
(big-endian)f(\(ie)j(\223netw)o(ork)396 1838 y(order\224\))e(v)n
(alues.)g(The)h(encoding)e(for)i(a)g(command)f(is)i(as)g(follo)n(ws:)
396 2039 y Ff(T)-8 b(able)21 b(1.)f(W)o(ir)o(e)g(Encoding)h(of)e(IJS)i
(Commands)p 396 2142 1206 4 v 396 2142 V 396 2268 4 127
v 400 2244 a Fg(Command)p 997 2268 V 253 w(4-byte)e(inte)o(ger)p
1598 2268 V 396 2272 1206 4 v 396 2272 V 396 2398 4 127
v 400 2373 a(Size)h(in)h(bytes)p 997 2398 V 176 w(4-byte)e(inte)o(ger)p
1598 2398 V 396 2401 1206 4 v 396 2401 V 396 2528 4 127
v 805 2503 a(Ar)o(guments)p 1598 2528 V 396 2654 V 957
2629 a(...)p 1598 2654 V 396 2657 1206 4 v 396 2657 V
396 2931 a(The)h(ar)o(guments)e(are)i(simply)g(concatenated.)e(F)o(or)i
(v)n(ariable)f(size)i(ar)o(guments,)d(the)i(size)h(is)g(either)f(e)o
(xplicitly)f(gi)n(v)o(en)g(as)396 3039 y(another)g(ar)o(gument,)f(or)m
(,)h(in)h(the)g(case)h(of)f(the)g(last)h(ar)o(gument,)d(is)j(inferred)e
(from)g(the)h(size)h(of)f(the)g(command.)396 3313 y(A)h(wire)f
(encoding)e(for)i(a)h(typical)e(command)f(is)k(gi)n(v)o(en)c(belo)n(w)
-5 b(.)19 b(This)i(command)d(sets)j(the)f(Dpi)h(parameter)d(to)j(600.)
396 3515 y Ff(T)-8 b(able)21 b(2.)f(Example)h(W)o(ir)o(e)e(Encoding)p
396 3618 3501 4 v 396 3618 V 396 3744 4 127 v 400 3719
a Fc(Encoded)j(b)n(ytes)p 1296 3744 V 312 w(Field)p 2097
3744 V 606 w(V)-5 b(alue)p 3893 3744 V 396 3748 3501
4 v 396 3748 V 396 3874 4 127 v 400 3849 a Fg(00)19 b(00)h(00)g(0c)p
1296 3874 V 510 w(Command)p 2097 3874 V 452 w(IJS_COMMAND_SET_P)-8
b(ARAM)p 3893 3874 V 396 3877 3501 4 v 396 3877 V 396
4004 4 127 v 400 3979 a(00)19 b(00)h(00)g(16)p 1296 4004
V 505 w(Size)g(in)h(bytes)p 2097 4004 V 375 w(22)p 3893
4004 V 396 4007 3501 4 v 396 4007 V 396 4133 4 127 v
400 4108 a(00)e(00)h(00)g(00)p 1296 4133 V 505 w(Job)g(id)p
2097 4133 V 599 w(0)p 3893 4133 V 396 4137 3501 4 v 396
4137 V 396 4371 4 235 v 400 4238 a(00)f(00)h(00)g(03)p
1296 4371 V 505 w(Size)g(of)g(parameter)f(name)p 2097
4371 V 13 w(3)p 3893 4371 V 396 4374 3501 4 v 396 4374
V 396 4501 4 127 v 400 4476 a(44)g(70)h(69)p 1296 4501
V 609 w(P)o(arameter)f(name)p 2097 4501 V 263 w(Dpi)p
3893 4501 V 396 4504 3501 4 v 396 4504 V 396 4630 4 127
v 400 4605 a(36)g(30)h(30)p 1296 4630 V 609 w(V)-9 b(alue)p
2097 4630 V 610 w(600)p 3893 4630 V 396 4634 3501 4 v
396 4634 V 396 4883 a(The)20 b(numerical)f(v)n(alues)h(of)g(the)g
(commands)e(are:)p Black 3842 5569 a Fd(2)p Black eop
%%Page: 3 3
3 2 bop Black 0 TeXcolorgray Black 3020 -132 a Fd(IJS)20
b(Pr)l(otocol)f(Speci\002cation)p Black 396 72 a Ff(T)-8
b(able)21 b(3.)f(Numerical)h(V)-8 b(alues)21 b(of)f(IJS)g(Commands)p
396 167 2401 4 v 396 167 V 396 293 4 127 v 400 268 a
Fc(Command)p 2193 293 V 1389 w(V)-5 b(alue)p 2794 293
V 396 296 2401 4 v 396 296 V 396 423 4 127 v 400 398
a Fg(IJS_CMD_A)m(CK)p 2193 423 V 1245 w(0)p 2794 423
V 396 426 2401 4 v 396 426 V 396 552 4 127 v 400 528
a(IJS_CMD_N)m(AK)p 2193 552 V 1240 w(1)p 2794 552 V 396
556 2401 4 v 396 556 V 396 682 4 127 v 400 657 a(IJS_CMD_PING)p
2193 682 V 1223 w(2)p 2794 682 V 396 685 2401 4 v 396
685 V 396 812 4 127 v 400 787 a(IJS_CMD_PONG)p 2193 812
V 1191 w(3)p 2794 812 V 396 815 2401 4 v 396 815 V 396
942 4 127 v 400 917 a(IJS_CMD_OPEN)p 2193 942 V 1200
w(4)p 2794 942 V 396 945 2401 4 v 396 945 V 396 1071
4 127 v 400 1046 a(IJS_CMD_CLOSE)p 2193 1071 V 1154 w(5)p
2794 1071 V 396 1075 2401 4 v 396 1075 V 396 1201 4 127
v 400 1176 a(IJS_CMD_BEGIN_JOB)p 2193 1201 V 974 w(6)p
2794 1201 V 396 1204 2401 4 v 396 1204 V 396 1331 4 127
v 400 1306 a(IJS_CMD_END_JOB)p 2193 1331 V 1057 w(7)p
2794 1331 V 396 1334 2401 4 v 396 1334 V 396 1460 4 127
v 400 1435 a(IJS_CMD_CANCEL_JOB)p 2193 1460 V 896 w(8)p
2794 1460 V 396 1464 2401 4 v 396 1464 V 396 1590 4 127
v 400 1565 a(IJS_CMD_Q)o(UER)g(Y_ST)d(A)f(TUS)p 2193
1590 V 798 w(9)p 2794 1590 V 396 1593 2401 4 v 396 1593
V 396 1720 4 127 v 400 1695 a(IJS_CMD_LIST_P)h(ARAMS)p
2193 1720 V 866 w(10)p 2794 1720 V 396 1723 2401 4 v
396 1723 V 396 1849 4 127 v 400 1824 a(IJS_CMD_ENUM_P)g(ARAM)p
2193 1849 V 843 w(11)p 2794 1849 V 396 1853 2401 4 v
396 1853 V 396 1979 4 127 v 400 1954 a(IJS_CMD_SET_P)g(ARAM)p
2193 1979 V 940 w(12)p 2794 1979 V 396 1982 2401 4 v
396 1982 V 396 2109 4 127 v 400 2084 a(IJS_CMD_GET_P)g(ARAM)p
2193 2109 V 926 w(13)p 2794 2109 V 396 2112 2401 4 v
396 2112 V 396 2238 4 127 v 400 2213 a(IJS_CMD_BEGIN_P)g(A)m(GE)p
2193 2238 V 915 w(14)p 2794 2238 V 396 2242 2401 4 v
396 2242 V 396 2368 4 127 v 400 2343 a(IJS_CMD_SEND_D)m(A)f(T)h
(A_BLOCK)p 2193 2368 V 624 w(15)p 2794 2368 V 396 2371
2401 4 v 396 2371 V 396 2498 4 127 v 400 2473 a(IJS_CMD_END_P)g(A)m(GE)
p 2193 2498 V 998 w(16)p 2794 2498 V 396 2501 2401 4
v 396 2501 V 396 2627 4 127 v 400 2602 a(IJS_CMD_EXIT)p
2193 2627 V 1227 w(17)p 2794 2627 V 396 2631 2401 4 v
396 2631 V 396 2880 a(A)21 b(state)g(transition)e(diagram)g(for)h(serv)
o(ers)f(supporting)f(a)j(maximum)d(of)i(one)g(acti)n(v)o(e)g(job)f(at)i
(a)g(time)f(is)h(gi)n(v)o(en)e(belo)n(w:)396 4062 y
 currentpoint currentpoint translate 0.5 0.5 scale neg exch neg exch
translate
 396
4062 a @beginspecial 0 @llx 0 @lly 912 @urx 257 @ury
9120 @rwi @setspecial
%%BeginDocument: state.eps
%!PS-Adobe-2.0 EPSF-2.0
%%Title: state.eps
%%Creator: fig2dev Version 3.2 Patchlevel 3d
%%CreationDate: Sat Dec 22 01:59:04 2001
%%For: raph@pixel.artofcode.com (Raph Levien,,,)
%%BoundingBox: 0 0 912 257
%%Magnification: 1.0000
%%EndComments
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def

end
save
newpath 0 257 moveto 0 0 lineto 912 0 lineto 912 257 lineto closepath clip newpath
-24.1 355.7 translate
1 -1 scale

/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
  bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
  4 -2 roll mul srgb} bind def
 /DrawEllipse {
        /endangle exch def
        /startangle exch def
        /yrad exch def
        /xrad exch def
        /y exch def
        /x exch def
        /savematrix mtrx currentmatrix def
        x y tr xrad yrad sc 0 0 1 startangle endangle arc
        closepath
        savematrix setmatrix
        } def

/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def

$F2psBegin
10 setmiterlimit
0 slj 0 slc
 0.06299 0.06299 sc
%
% Fig objects follow
%
/Times-Roman ff 180.00 scf sf
9225 2475 m
gs 1 -1 sc (IJS_LIST_PARAMS) col0 sh gr
/Times-Roman ff 180.00 scf sf
9225 2700 m
gs 1 -1 sc (IJS_QUERY_PARAM) col0 sh gr
/Times-Roman ff 180.00 scf sf
9225 2925 m
gs 1 -1 sc (IJS_SET_PARAM) col0 sh gr
/Times-Roman ff 180.00 scf sf
9225 3150 m
gs 1 -1 sc (IJS_GET_PARAM) col0 sh gr
/Times-Roman ff 180.00 scf sf
9225 3375 m
gs 1 -1 sc (IJS_QUERY_STATUS) col0 sh gr
% Arc
7.500 slw
gs  clippath
8630 2937 m 8620 2997 l 8769 3022 l 8656 2973 l 8779 2962 l cp
eoclip
n 8746.9 2733.8 259.3 -139.4 114.3 arc
gs col0 s gr
 gr

% arrowhead
n 8779 2962 m 8656 2973 l 8769 3022 l  col0 s
% Arc
gs  clippath
12183 2983 m 12176 3043 l 12326 3061 l 12211 3017 l 12333 3001 l cp
eoclip
n 12293.2 2761.4 272.0 -133.8 111.2 arc
gs col0 s gr
 gr

% arrowhead
n 12333 3001 m 12211 3017 l 12326 3061 l  col0 s
% Arc
gs  clippath
8518 3029 m 8472 3067 l 8569 3184 l 8516 3073 l 8616 3145 l cp
eoclip
n 10170.0 1755.0 2115.5 38.1 141.9 arc
gs col0 s gr
 gr

% arrowhead
n 8616 3145 m 8516 3073 l 8569 3184 l  col0 s
% Arc
gs  clippath
11736 2597 m 11776 2552 l 11663 2451 l 11733 2554 l 11623 2496 l cp
eoclip
n 10032.9 4384.8 2498.6 -131.7 -46.7 arc
gs col0 s gr
 gr

% arrowhead
n 11623 2496 m 11733 2554 l 11663 2451 l  col0 s
% Arc
gs  clippath
8176 2550 m 8222 2512 l 8124 2395 l 8179 2507 l 8078 2434 l cp
eoclip
n 7091.9 3365.8 1386.1 -140.0 -37.6 arc
gs col0 s gr
 gr

% arrowhead
n 8078 2434 m 8179 2507 l 8124 2395 l  col0 s
% Arc
gs  clippath
5659 2551 m 5701 2509 l 5594 2401 l 5658 2508 l 5551 2444 l cp
eoclip
n 4545.0 3548.9 1524.5 -137.6 -42.4 arc
gs col0 s gr
 gr

% arrowhead
n 5551 2444 m 5658 2508 l 5594 2401 l  col0 s
% Arc
gs  clippath
3435 2985 m 3386 3020 l 3476 3142 l 3430 3028 l 3525 3106 l cp
eoclip
n 4600.2 2225.5 1420.0 38.3 146.2 arc
gs col0 s gr
 gr

% arrowhead
n 3525 3106 m 3430 3028 l 3476 3142 l  col0 s
% Arc
gs  clippath
5952 3028 m 5907 3068 l 6008 3181 l 5951 3072 l 6053 3141 l cp
eoclip
n 7087.5 2115.0 1486.5 39.5 140.5 arc
gs col0 s gr
 gr

% arrowhead
n 6053 3141 m 5951 3072 l 6008 3181 l  col0 s
% Arc
gs  clippath
3055 2553 m 3089 2503 l 2962 2419 l 3046 2511 l 2929 2469 l cp
eoclip
n 1935.0 4072.5 1917.3 -125.9 -54.1 arc
gs col0 s gr
 gr

% arrowhead
n 2929 2469 m 3046 2511 l 2962 2419 l  col0 s
% Arc
gs  clippath
5866 3075 m 5816 3109 l 5901 3235 l 5859 3119 l 5951 3201 l cp
eoclip
n 8918.1 1112.7 3658.2 32.2 147.0 arc
gs col0 s gr
 gr

% arrowhead
n 5951 3201 m 5859 3119 l 5901 3235 l  col0 s
% Ellipse
n 675 2790 284 284 0 360 DrawEllipse gs col0 s gr

% Ellipse
n 3240 2790 284 284 0 360 DrawEllipse gs col0 s gr

% Ellipse
n 8370 2790 284 284 0 360 DrawEllipse gs col0 s gr

% Ellipse
n 3240 5355 284 284 0 360 DrawEllipse gs col0 s gr

% Ellipse
n 5805 2790 284 284 0 360 DrawEllipse gs col0 s gr

% Ellipse
n 11925 2790 284 284 0 360 DrawEllipse gs col0 s gr

% Polyline
gs  clippath
3210 5055 m 3270 5055 l 3270 4903 l 3240 5023 l 3210 4903 l cp
eoclip
n 3240 3060 m
 3240 5040 l gs col0 s gr gr

% arrowhead
n 3210 4903 m 3240 5023 l 3270 4903 l  col0 s
/Times-Roman ff 180.00 scf sf
3060 5400 m
gs 1 -1 sc (exit) col0 sh gr
/Times-Roman ff 180.00 scf sf
11700 2880 m
gs 1 -1 sc (in_page) col0 sh gr
/Times-Roman ff 180.00 scf sf
7965 4950 m
gs 1 -1 sc (IJS_CMD_CANCEL_JOB) col0 sh gr
/Times-Roman ff 180.00 scf sf
2025 4095 m
gs 1 -1 sc (IJS_CMD_EXIT) col0 sh gr
/Times-Roman ff 180.00 scf sf
1215 2520 m
gs 1 -1 sc (\(IJS_CMD_PONG\)) col0 sh gr
/Times-Roman ff 180.00 scf sf
1350 2070 m
gs 1 -1 sc (IJS_CMD_PING) col0 sh gr
/Times-Roman ff 180.00 scf sf
3960 1935 m
gs 1 -1 sc (IJS_CMD_OPEN) col0 sh gr
/Times-Roman ff 180.00 scf sf
4005 3870 m
gs 1 -1 sc (IJS_CMD_CLOSE) col0 sh gr
/Times-Roman ff 180.00 scf sf
9045 4095 m
gs 1 -1 sc (IJS_CMD_END_PAGE) col0 sh gr
/Times-Roman ff 180.00 scf sf
12150 3420 m
gs 1 -1 sc (IJS_CMD_SEND_DATA_BLOCK) col0 sh gr
/Times-Roman ff 180.00 scf sf
9180 1755 m
gs 1 -1 sc (IJS_CMD_BEGIN_PAGE) col0 sh gr
/Times-Roman ff 180.00 scf sf
6345 1845 m
gs 1 -1 sc (IJS_CMD_BEGIN_JOB) col0 sh gr
/Times-Roman ff 180.00 scf sf
6660 3870 m
gs 1 -1 sc (IJS_CMD_END_JOB) col0 sh gr
/Times-Roman ff 180.00 scf sf
3015 2880 m
gs 1 -1 sc (closed) col0 sh gr
/Times-Roman ff 180.00 scf sf
540 2835 m
gs 1 -1 sc (init) col0 sh gr
/Times-Roman ff 180.00 scf sf
5625 2835 m
gs 1 -1 sc (open) col0 sh gr
/Times-Roman ff 180.00 scf sf
8145 2835 m
gs 1 -1 sc (in_job) col0 sh gr
$F2psEnd
rs

%%EndDocument
 @endspecial 396 4062 a
 currentpoint currentpoint translate 1 0.5 div 1 0.5 div scale neg
exch neg exch translate
 396 4062 a -2 4473 a Fb(2.1.)34
b(IJS_CMD_A)-5 b(CK)396 4747 y Fg(This)21 b(command)d(is)j(sent)f(from)
g(serv)o(er)f(to)h(the)g(client)h(in)f(response)f(to)i(a)f(command)e
(from)i(the)g(client,)g(to)g(indicate)396 4855 y(successful)g
(completion.)e(There)i(are)g(no)g(ar)o(guments)e(speci\002c)i(to)g
(this)h(command.)d(Ho)n(we)n(v)o(er)m(,)g(for)i(commands)e(\(such)396
4963 y(as)j(IJS_CMD_GET_P)-8 b(ARAM\))19 b(which)h(request)f(a)i(v)n
(alue,)e(this)i(v)n(alue)f(is)h(returned)d(as)j(the)f(ar)o(gument)e(in)
i(an)h(A)m(CK)396 5071 y(command.)p Black 3842 5569 a
Fd(3)p Black eop
%%Page: 4 4
4 3 bop Black 0 TeXcolorgray Black 3020 -132 a Fd(IJS)20
b(Pr)l(otocol)f(Speci\002cation)p Black -2 77 a Fb(2.2.)34
b(IJS_CMD_NAK)396 351 y Fg(This)21 b(command)d(is)j(sent)f(from)g(serv)
o(er)f(to)h(the)g(client)h(in)f(response)f(to)i(a)f(command)e(from)i
(the)g(client,)g(to)g(indicate)g(an)396 459 y(error)-5
b(.)20 b(There)f(is)i(one)f(inte)o(ger)f(ar)o(gument,)e(which)j(is)h
(the)f(error)f(code.)h(A)g(list)i(of)e(error)f(codes)g(is)j(gi)n(v)o
(en)c(in)p 0 TeXcolorgray 21 w(Section)i(6)p Black(.)-2
797 y Fb(2.3.)34 b(IJS_CMD_PING)396 1071 y Fg(The)20
b(PING)h(command)d(is)j(sent)f(from)g(the)g(client)g(to)g(the)h(serv)o
(er)e(as)i(part)f(of)g(the)g(connection)e(setup.)i(It)g(contains)g(one)
396 1179 y(inte)o(ger)f(ar)o(gument,)f(which)i(is)h(the)f(100)f(times)i
(the)f(real-v)n(alued)e(v)o(ersion)h(number)f(of)i(the)h(lar)o(gest)e
(IJS)i(protocol)396 1287 y(understood)d(by)i(the)g(client.)g(Thus,)f
(for)h(the)g(v)o(ersion)f(of)h(the)g(protocol)f(described)g(in)h(this)h
(document,)d(the)i(ar)o(gument)396 1395 y(is)h(30.)f(The)g(appropriate)
e(response)h(to)h(a)h(PING)f(is)h(a)g(PONG.)-2 1733 y
Fb(2.4.)34 b(IJS_CMD_PONG)396 2007 y Fg(The)20 b(PONG)h(command)d(is)j
(sent)g(from)e(the)h(serv)o(er)f(to)i(the)f(client)g(in)g(response)g
(to)g(the)g(PING)h(command.)d(It)i(contains)396 2115
y(one)g(inte)o(ger)f(ar)o(gument,)f(which)h(is)i(100)f(times)g(the)g
(lar)o(gest)g(IJS)h(v)o(ersion)e(number)f(understood)g(by)i(the)g(serv)
o(er)-5 b(.)19 b(After)396 2223 y(a)i(PING/PONG)f(handshak)o(e,)f(both)
g(client)h(and)g(serv)o(er)f(should)g(use)i(the)f(minimum)f(of)g(the)i
(tw)o(o)f(v)o(ersion)f(numbers.)396 2331 y(This)i(ne)o(gotiation)d
(mechanism)h(preserv)o(es)g(the)h(ability)g(to)g(mak)o(e)g(deep)f
(changes)h(in)g(future)f(v)o(ersion)g(of)h(the)g(protocol,)396
2439 y(while)g(preserving)f(backw)o(ards)g(compatibility)f(for)i(both)f
(clients)i(and)e(serv)o(ers.)-2 2777 y Fb(2.5.)34 b(IJS_CMD_OPEN)396
3051 y Fg(The)20 b(client)g(should)g(send)f(an)i(OPEN)f(command)e(to)j
(the)f(serv)o(er)f(to)i(indicate)e(that)h(printing)f(is)i(imminent.)e
(The)h(serv)o(er)396 3159 y(can)g(allocate)g(resources,)f(such)h(as)h
(tables,)f(at)h(this)g(time.)-2 3498 y Fb(2.6.)34 b(IJS_CMD_CLOSE)396
3772 y Fg(The)20 b(client)g(should)g(send)f(a)i(CLOSE)g(command)d(to)i
(the)g(serv)o(er)g(to)g(indicate)g(that)g(printing)f(is)i(complete)e
(for)h(no)n(w)-5 b(.)396 3880 y(The)20 b(serv)o(er)f(can)h(free)g(an)o
(y)g(allocated)f(resources)g(at)i(this)g(time.)396 4154
y(There)f(should)f(not)h(be)g(an)o(y)f(jobs)h(open)f(at)i(the)f(time)h
(of)f(the)g(CLOSE)h(command.)c(Handling)i(of)h(an)o(y)g(such)f(jobs)i
(is)396 4262 y(unde\002ned.)-2 4600 y Fb(2.7.)34 b(IJS_CMD_BEGIN_JOB)
396 4874 y Fg(The)20 b(client)g(should)g(send)f(a)i(BEGIN_JOB)g(to)f
(the)g(serv)o(er)f(to)i(be)o(gin)e(a)h(job)m(.)g(There)f(is)i(one)f
(inte)o(ger)f(ar)o(gument,)e(a)k(job)396 4982 y(id.)f(This)h(id)f(is)h
(allocated)f(by)f(the)i(client,)f(and)f(jobs)h(are)h(uniquely)d
(identi\002ed)h(by)h(the)g(\(client,)g(job)g(id\))g(tuple.)f(This)i
(job)p Black 3842 5569 a Fd(4)p Black eop
%%Page: 5 5
5 4 bop Black 0 TeXcolorgray Black 3020 -132 a Fd(IJS)20
b(Pr)l(otocol)f(Speci\002cation)p Black 396 72 a Fg(id)h(is)g(present)f
(as)h(an)f(ar)o(gument)e(for)i(all)h(the)g(commands)d(which)i(operate)f
(within)i(the)f(conte)o(xt)f(of)h(a)h(job)m(.)f(This)g(job)g(id)h(is)
396 180 y(v)n(alid)g(until)g(the)g(corresponding)d(END_JOB)j(command)f
(is)i(in)m(v)n(ok)o(ed,)d(at)j(which)e(point)h(it)h(can)f(be)g(reused)f
(if)i(desired.)396 454 y(The)f(connection)e(must)i(be)h(in)f(an)g(open)
f(state)i(to)f(be)o(gin)f(a)i(job,)f(ie)g(an)g(OPEN)h(command)d(must)i
(ha)n(v)o(e)g(been)g(sent,)396 562 y(without)g(a)g(corresponding)d
(CLOSE.)396 836 y(Serv)o(ers)j(can)g(choose)f(whether)g(or)h(not)g(to)g
(implement)f(multiple)h(jobs,)g(depending)d(on)j(their)g
(sophistication.)f(When)396 944 y(the)h(number)f(of)h(jobs)g(supported)
e(is)j(e)o(xceeded,)d(the)j(serv)o(er)e(should)g(return)g(an)h(IJS_ET)o
(OOMANYJOBS)g(error)396 1052 y(code.)-2 1391 y Fb(2.8.)34
b(IJS_CMD_END_JOB)396 1665 y Fg(The)20 b(client)g(should)g(send)f(an)i
(END_JOB)f(command)e(to)j(the)f(serv)o(er)f(on)h(the)g(completion)e(of)
i(a)h(job)m(.)e(The)h(one)396 1773 y(ar)o(gument)e(is)j(the)f(job)g
(id.)g(This)h(command)d(cannot)h(be)h(used)g(in)g(the)h(middle)e(of)h
(a)h(page,)e(i.e.)h(when)g(a)g(BEGIN_P)-8 b(A)m(GE)396
1880 y(command)18 b(has)j(been)e(issued)i(without)e(its)i
(corresponding)c(END_P)-8 b(A)m(GE.)-2 2219 y Fb(2.9.)34
b(IJS_CMD_CANCEL_JOB)396 2493 y Fg(This)21 b(command)d(cancels)i(a)h
(job)m(.)e(The)h(one)f(ar)o(gument)f(is)j(the)f(job)g(id.)g(This)h
(command)d(can)i(be)g(used)g(whether)f(or)h(not)396 2601
y(a)h(page)e(is)j(open.)-2 2939 y Fb(2.10.)35 b(IJS_CMD_Q)o(UER)-6
b(Y_ST)-11 b(A)g(TUS)396 3213 y Fg(This)21 b(command)d(queries)h(the)i
(status)f(of)g(a)h(job,)f(or)f(general)h(printer)f(status)i(within)e(a)
i(job)f(conte)o(xt.)f(The)g(one)396 3321 y(ar)o(gument)f(is)j(the)f
(job)g(id.)g(The)g(return)f(data)h(is)h(the)g(printer)e(status.)396
3595 y(The)h(format)f(of)g(the)h(printer)f(status)i(is)g(yet)f(to)g(be)
g(determined.)e(Glen)i(Petrie)g(has)g(made)f(a)i(proposal)d(on)i(the)g
(inkjet-list)396 3703 y(mailing)g(list.)h(Michael)f(Sweet)g(has)h
(suggested)e(adopting)f(the)i(IPP)h(status)g(codes.)f(That)f(standard)h
(is)h(f)o(airly)e(rich)h(in)396 3811 y(status)h(queries.)e(There)h
(appear)f(to)h(be)g(at)h(least)g(four)e(queries)g(related)h(to)g(this)h
(IJS)g(command:)d(printer)n(-state)i(\(enum\),)396 3919
y(printer)n(-state-reasons)e(\(k)o(e)o(yw)o(ord\),)g(printer)n
(-state-message)g(\(te)o(xt\),)h(printer)n(-is-accepting-jobs)d
(\(boolean\).)-2 4257 y Fb(2.11.)35 b(IJS_CMD_LIST_P)-12
b(ARAMS)396 4531 y Fg(This)21 b(command)d(queries)h(the)i(serv)o(er)e
(for)g(a)i(complete)e(list)i(of)f(parameters.)f(Note)h(that)h(this)f
(list)i(may)d(change)396 4639 y(dynamically)-5 b(,)18
b(in)i(response)f(to)i(setting)f(v)n(arious)f(parameters,)g(or)h(e)o
(xternal)f(e)n(v)o(ents.)g(The)h(ar)o(gument)e(is)j(the)f(job)g(id.)396
4747 y(The)g(return)f(v)n(alue)h(is)h(a)f(comma-separated)e(list)j(of)f
(parameters.)p Black 3842 5569 a Fd(5)p Black eop
%%Page: 6 6
6 5 bop Black 0 TeXcolorgray Black 3020 -132 a Fd(IJS)20
b(Pr)l(otocol)f(Speci\002cation)p Black -2 77 a Fb(2.12.)35
b(IJS_CMD_ENUM_P)-12 b(ARAM)396 351 y Fg(This)21 b(command)d(queries)h
(the)i(possible)e(v)n(alues)h(for)g(a)g(gi)n(v)o(en)f(parameter)-5
b(.)19 b(The)h(ar)o(guments)e(are)i(the)h(job)e(id)i(and)e(the)396
459 y(name)h(of)g(the)g(parameter)-5 b(.)19 b(The)h(return)f(v)n(alue)g
(is)i(a)g(comma-separated)c(list)22 b(of)d(v)n(alues,)h(with)g(the)h
(def)o(ault)e(gi)n(v)o(en)g(\002rst.)396 733 y(Some)h(parameters)f(may)
h(not)g(ha)n(v)o(e)f(a)i(small)g(\002nite)f(enumeration.)e(In)h(these)i
(cases,)f(the)h(serv)o(er)e(should)g(report)396 840 y(IJS_ERANGE.)396
1114 y(Note)h(also)h(that)f(the)g(comma-separated)e(encoding)g(does)i
(not)g(pro)o(vide)e(a)i(w)o(ay)h(to)f(report)f(v)n(alues)h(containing)
396 1222 y(commas.)f(Thus,)h(these)g(should)g(be)g(a)n(v)n(oided.)-2
1561 y Fb(2.13.)35 b(IJS_CMD_SET_P)-12 b(ARAM)396 1835
y Fg(This)21 b(command)d(sets)j(a)g(parameter)-5 b(.)19
b(There)g(are)h(four)f(ar)o(guments:)f(the)j(job)e(id,)i(the)f(size)h
(of)e(the)i(parameter)d(name)i(\(in)396 1943 y(bytes\),)f(the)g
(parameter)e(name,)i(and)f(the)h(v)n(alue.)g(The)f(size)i(of)f(the)g(v)
n(alue)g(is)h(inferred)d(from)h(the)h(size)h(of)f(the)g(command.)396
2217 y(If)h(the)h(parameter)d(is)j(unkno)n(wn,)d(the)i(serv)o(er)f
(returns)h(an)g(IJS_EUNKP)-8 b(ARAM)20 b(error)-5 b(.)19
b(If)i(the)f(parameter)e(is)k(kno)n(wn)396 2325 y(b)n(ut)e(the)h(v)n
(alue)e(is)i(not)f(appropriate,)e(the)i(serv)o(er)f(returns)h(an)g
(IJS_ERANGE)g(error)-5 b(.)-2 2663 y Fb(2.14.)35 b(IJS_CMD_GET_P)-12
b(ARAM)396 2937 y Fg(This)21 b(command)d(retrie)n(v)o(es)h(the)h
(current)f(v)n(alue)h(of)g(a)g(parameter)-5 b(.)19 b(There)g(are)i(tw)o
(o)f(ar)o(guments:)e(the)i(job)g(id)h(and)e(the)396 3045
y(parameter)g(name.)g(The)h(v)n(alue)g(of)g(the)g(parameter)e(is)k
(returned.)396 3319 y(If)e(the)h(parameter)d(is)j(unkno)n(wn,)d(the)i
(serv)o(er)f(returns)h(an)g(IJS_EUNKP)-8 b(ARAM)20 b(error)-5
b(.)-2 3657 y Fb(2.15.)35 b(IJS_CMD_BEGIN_P)-12 b(A)-6
b(GE)396 3931 y Fg(This)21 b(command)d(be)o(gins)h(a)i(ne)n(w)f(page.)f
(All)i(of)f(the)g(parameters)f(af)n(fecting)g(the)h(data)g(format)f(of)
h(the)g(page)g(should)396 4039 y(ha)n(v)o(e)g(already)f(been)g(set)i
(by)f(this)h(time.)-2 4378 y Fb(2.16.)35 b(IJS_CMD_SEND_D)-5
b(A)-11 b(T)g(A_BLOCK)396 4652 y Fg(This)21 b(command)d(sends)i(a)h
(block)e(of)h(data,)g(in)g(the)g(format)f(de\002ned)g(by)h(P)o
(ageImageLanguage)c(and)k(its)h(subsidiary)396 4760 y(parameters.)e
(There)g(are)h(no)g(alignment)f(restrictions.)h(There)f(are)h(tw)o(o)g
(ar)o(guments:)f(the)h(job)g(id,)g(and)f(the)i(size)g(of)e(the)396
4868 y(data)h(block)g(in)g(bytes.)g(The)g(data)g(block)f(follo)n(ws)h
(the)g(command,)e(in)i(the)g(same)h(stream.)p Black 3840
5569 a Fd(6)p Black eop
%%Page: 7 7
7 6 bop Black 0 TeXcolorgray Black 3020 -132 a Fd(IJS)20
b(Pr)l(otocol)f(Speci\002cation)p Black 396 72 a Fg(Note)h(that)h
(shared-memory)16 b(transport)j(of)h(b)n(ulk)g(data)g(is)h(anticipated)
e(in)i(a)f(future)f(v)o(ersion)g(of)h(this)h(standard.)e(Pipe)396
180 y(transport)g(will)i(still)g(be)g(used)f(as)g(a)h(f)o(allback)e(in)
i(case)f(shared-memory)d(transport)i(is)i(una)n(v)n(ailable.)396
454 y(The)f(serv)o(er)f(must)i(be)f(in)g(the)g(middle)g(of)g(a)g(page)g
(\(ie)g(BEGIN_P)-8 b(A)m(GE)20 b(without)f(the)i(corresponding)16
b(END_P)-8 b(A)m(GE\))396 562 y(when)20 b(this)h(command)d(is)j
(issued.)-2 901 y Fb(2.17.)35 b(IJS_CMD_END_P)-12 b(A)-6
b(GE)396 1175 y Fg(This)21 b(command)d(ends)i(a)g(page.)g(The)f(serv)o
(er)h(must)g(be)g(in)h(the)f(middle)f(of)h(a)h(page)e(when)h(this)g
(command)f(is)i(issued.)396 1283 y(The)f(ar)o(gument)e(is)j(the)f(job)g
(id.)-2 1621 y Fb(2.18.)35 b(IJS_CMD_EXIT)396 1895 y
Fg(This)21 b(command)d(signals)i(the)g(end)g(of)g(the)g(IJS)h
(connection.)d(In)i(the)g(typical)g(case)g(of)g(a)h(serv)o(er)e(with)i
(a)f(single)g(client,)396 2003 y(the)g(serv)o(er)g(process)g
(terminates)f(upon)g(receipt)h(of)g(this)g(command.)396
2277 y(The)g(connection)e(must)i(be)h(in)f(a)g(closed)g(state)h(at)g
(the)f(time)h(of)e(this)i(command.)p Black -85 2395 a
Fe(*)p Black 46 w(Need)e(to)g(look)g(into)g(r)o(ace)g(condition.)-2
2855 y Fh(3.)39 b(P)l(arameter)n(s)396 3129 y Fg(IJS)21
b(de\002nes)f(a)h(small)f(set)h(of)f(standard)f(parameters,)g(which)h
(all)g(clients)h(and)f(serv)o(ers)f(are)h(e)o(xpected)f(to)h
(understand.)396 3237 y(Indi)n(vidual)d(implementations)h(may)h(e)o
(xtend)f(this)i(standard)e(set)i(with)g(additional)e(parameters)g
(speci\002c)i(to)f(the)h(de)n(vice)396 3345 y(or)g(dri)n(v)o(er)-5
b(.)19 b(Clients)i(should,)e(in)h(general,)f(pro)o(vide)f(some)i
(mechanism)f(for)h(setting)g(\(and)f(possibly)h(querying\))396
3453 y(arbitrary)f(additional)g(parameters.)f(In)i(particular)m(,)f
(command)f(line)i(clients)h(should)e(accept)h(command)e(line)i(options)
396 3561 y(to)h(set)g(additional)d(parameters.)h(Interacti)n(v)o(e)g
(clients)h(should)f(ideally)h(query)f(the)h(serv)o(er)f(for)h(a)h(list)
g(of)f(these)396 3669 y(parameters)f(to)i(display)e(in)i(the)f(interf)o
(ace,)f(then)h(query)e(each)i(parameter)f(for)g(the)i(list)g(of)f
(possible)g(v)n(alues,)f(presented)396 3777 y(as)i(menu)e(choices.)396
4051 y(In)g(addition,)f(in)i(man)o(y)e(scenarios,)h(the)g(client)h(may)
e(ha)n(v)o(e)h(additional)f(information)f(speci\002c)j(to)g(the)f(de)n
(vice,)f(obtained)396 4159 y(through)g(other)i(means,)f(for)h(e)o
(xample)f(a)h(PPD)h(\(or)f(PPD-lik)o(e\))g(\002le)h(speci\002ed)f(by)f
(the)i(user)-5 b(.)20 b(Such)g(\002le)g(formats)g(are)396
4267 y(well)h(be)o(yond)d(the)i(scope)g(of)g(this)h(speci\002cation.)e
(Ho)n(we)n(v)o(er)m(,)f(man)o(y)h(users)h(may)g(\002nd)g(the)g(simple)g
(parameter)396 4375 y(mechanism)f(of)h(IJS)h(to)f(be)g(suf)n(\002cient)
g(for)g(their)g(needs.)f(A)i(particular)e(strength)g(of)h(the)g(IJS)h
(parameter)e(mechanism)396 4483 y(is)i(that)g(no)e(additional)g(ef)n
(fort)g(is)i(required)e(to)h(handle)f(dynamic)g(capability)g
(information,)f(for)h(e)o(xample)g(the)396 4591 y(presence)g(of)h(a)h
(hot-pluggable)16 b(duple)o(x)o(er)-5 b(.)396 4865 y(Often,)20
b(one)f(parameter)g(will)i(be)f(subsidiary)f(to)i(another)-5
b(.)19 b(In)g(this)i(case,)g(the)f(subsidiary)f(parameter)f(should)i
(be)g(set,)396 4973 y(gotten,)f(or)h(enumerated)e(after)i(the)g(other)g
(parameter)e(is)k(set.)p Black 3839 5569 a Fd(7)p Black
eop
%%Page: 8 8
8 7 bop Black 0 TeXcolorgray Black 3020 -132 a Fd(IJS)20
b(Pr)l(otocol)f(Speci\002cation)p Black -2 94 a Fh(4.)39
b(Standar)m(d)f(parameter)n(s)396 368 y Fg(This)21 b(section)f
(describes)f(the)h(standard)f(parameters)g(speci\002ed)h(by)g(IJS.)-2
696 y Fb(4.1.)34 b(OutputFile)396 970 y Fg(This)21 b(parameter)d(is)j
(the)g(\002lename)e(intended)g(for)h(IJS)g(output.)f(It)i(will)g(often)
e(refer)g(to)i(a)f(de)n(vice,)f(b)n(ut)i(can)f(also)g(be)g(a)396
1078 y(re)o(gular)f(\002le.)396 1352 y(Note)h(that)g(this)h(parameter)d
(should)h(be)h(considered)e(security-sensiti)n(v)o(e.)g(Clients)i
(should)f(tak)o(e)h(care)g(to)g(ensure)f(that)h(it)396
1460 y(is)h(set)g(only)f(to)g(le)o(gitimate)g(v)n(alues.)-2
1798 y Fb(4.2.)34 b(OutputFD)396 2072 y Fg(This)21 b(is)g(an)f
(alternati)n(v)o(e)f(to)h(OutputFile,)f(and)h(is)h(intended)e(to)h
(support)f(-sOutputFile=-)g(and)h(-sOutputFile="|cmd")396
2180 y(con\002gurations)e(of)i(Ghostscript.)f(The)h(parameter)f(is)i(a)
g(numeric)d(\002le)j(descriptor)-5 b(.)-2 2519 y Fb(4.3.)34
b(De)n(viceMan)o(ufacturer)396 2793 y Fg(This)21 b(parameter)d(is)j
(the)g(manuf)o(acturer)c(of)j(the)g(printer)-5 b(.)20
b(In)f(general,)g(it)i(should)e(match)h(the)g("MANUF)-6
b(A)m(CTURER")396 2901 y(\(or)20 b("MFR"\))g(\002eld)h(of)f(the)g(IEEE)
f(1284)g(De)n(vice)h(ID)g(string)g(e)o(xactly[IEEE1284].)396
3175 y(There)g(are)g(man)o(y)f(dif)n(ferent)f(scenarios)i(for)f
(setting)i(and)e(querying)f(this)j(parameter)m(,)d(depending)g(on)h
(what)396 3283 y(information)f(is)j(kno)n(wn)e(about)g(the)h(de)n
(vice.)396 3557 y(In)g(the)g(case)h(where)f(the)g(serv)o(er)f(is)i
(able)f(to)h(identify)e(the)h(de)n(vice,)f(for)h(e)o(xample)e(by)i
(retrie)n(ving)f(the)h(IEEE)f(1284)396 3665 y(De)n(vice)h(ID)g(string,)
g(or)g(through)e(the)i(GET_DEVICE_ID)e(request)i(of)g(the)g(USB)h
(Printer)f(Class[USBPrint],)h(getting)396 3772 y(the)f(v)n(alue)g(of)g
(the)g(parameter)e(will)j(retrie)n(v)o(e)e(this)h(identi\002cation)f
(string.)h(In)g(general,)e(the)i(serv)o(er)g(should)f(perform)f(the)396
3880 y(de)n(vice)i(ID)g(query)f(at)h(the)h(time)f(of)g(the)g(GET_P)-8
b(ARAM)20 b(command.)396 4154 y(In)g(the)g(case)h(where)f(the)g(de)n
(vice)f(identi\002cation)g(is)i(con\002gured)d(by)i(the)g(client,)g
(the)g(client)g(may)g(set)h(this)g(parameter)m(,)396
4262 y(then)f(set)h(the)f(De)n(viceModel)f(parameter)-5
b(.)396 4536 y(Finally)g(,)20 b(enumerating)d(this)k(parameter)e
(returns)g(a)i(list)g(of)f(manuf)o(acturers)e(kno)n(wn)g(by)i(the)g
(serv)o(er)-5 b(.)20 b(This)g(may)g(be)396 4644 y(helpful)f(for)h
(installing)g(a)g(ne)n(w)g(printer)f(in)i(cases)g(where)e(automatic)g
(de)n(vice)h(identi\002cation)f(is)i(not)f(a)n(v)n(ailable.)396
4918 y(There)g(may)f(be)h(cases)h(where)f(the)g(serv)o(er)g(is)h(able)f
(to)g(automatically)f(identify)g(the)h(de)n(vice,)f(and)h(the)g(client)
g(attempts)396 5026 y(to)h(o)o(v)o(erride)d(this)i(identi\002cation.)f
(The)h(serv)o(er)f(should)g(allo)n(w)h(this)h(o)o(v)o(erride)d(to)i
(occur)m(,)f(particularly)f(when)i(the)p Black 3842 5569
a Fd(8)p Black eop
%%Page: 9 9
9 8 bop Black 0 TeXcolorgray Black 3020 -132 a Fd(IJS)20
b(Pr)l(otocol)f(Speci\002cation)p Black 396 72 a Fg(de)n(vice)h(ID)g
(is)h(not)f(one)g(kno)n(wn)e(to)j(the)f(serv)o(er)-5
b(.)19 b(Ho)n(we)n(v)o(er)m(,)f(the)j(serv)o(er)e(can)h(reject)g(such)g
(attempts)g(by)g(returning)e(an)396 180 y(IJS_ERANGE)i(error)-5
b(.)-2 519 y Fb(4.4.)34 b(De)n(viceModel)396 793 y Fg(This)21
b(parameter)d(is)j(the)g(model)e(name)h(of)f(the)i(printer)m(,)d(and)i
(together)f(with)h(De)n(viceManuf)o(acturer)m(,)c(identi\002es)k(the)
396 901 y(de)n(vice.)f(In)h(general)f(it)i(should)e(match)h(the)g
("MODEL")g(\(or)g("MDL"\))f(\002eld)i(of)e(the)i(IEEE)e(1284)g(De)n
(vice)h(ID)g(string.)396 1175 y(Usage)g(scenarios)g(are)g(similar)h(to)
f(De)n(viceManuf)o(acturer)-5 b(.)17 b(This)j(parameter)f(is)i
(subsidiary)e(to)i(De)n(viceManuf)o(acturer)-5 b(.)396
1449 y(Setting)20 b(the)h(de)n(vice)e(manuf)o(acturer)e(and)j(model)f
(may)h(ha)n(v)o(e)g(profound)d(ef)n(fects)j(on)f(the)i(list)g(of)f
(other)f(parameters)396 1557 y(a)n(v)n(ailable.)h(F)o(or)g(e)o(xample,)
e(the)i(serv)o(er)g(may)f(in)i(f)o(act)f(be)g(a)h(wrapper)e(that)h(in)m
(v)n(ok)o(es)f(the)h(\223real\224)g(serv)o(er)g(once)f(the)h(de)n(vice)
396 1665 y(id)h(is)g(kno)n(wn,)d(and)i(then)g(proxies)f(all)h(IJS)h
(commands)e(subsequently)-5 b(.)17 b(Thus,)j(all)h(other)e(parameters)g
(other)g(than)396 1773 y(OutputFD,)h(OutputFile,)f(and)g(De)n
(viceManuf)o(acturer)m(,)e(should)i(be)h(considered)e(subsidiary)h(to)i
(this)f(one.)-2 2111 y Fb(4.5.)34 b(P)l(a)o(g)q(eIma)o(g)q(eFormat)396
2385 y Fg(This)21 b(parameter)d(speci\002es)j(the)f(format)f(of)h(the)g
(page)g(image)g(data)g(to)g(be)g(sent)h(to)f(the)g(printer)-5
b(.)19 b(This)i(standard)e(only)396 2493 y(de\002nes)h(one)g(standard)f
(v)n(alue:)g("Raster".)i(Other)f(v)n(alues,)f(including)g(compressed)f
(raster)i(formats,)g(as)g(well)h(as)396 2601 y(possibly)f(higher)f(le)n
(v)o(el)h(page)f(description)g(languages)f(such)i(as)h(PostScript)f
(and)g(PDF)-7 b(,)21 b(are)f(en)m(visioned)f(as)h(possible)396
2709 y(future)f(e)o(xtensions.)396 2983 y(When)h(it)h(mak)o(es)f
(sense,)h(names)e(consistent)h(with)h(the)f("COMMAND)g(SET")g(\(or)g
("CMD"\))g(\002eld)h(of)f(the)g(IEEE)f(1284)396 3091
y(De)n(vice)h(ID)g(string)g(are)g(recommended.)d(Ho)n(we)n(v)o(er)m(,)h
(this)j(namespace)e(has)h(man)o(y)f(shortcomings)g(for)g(use)i(with)f
(IJS.)396 3199 y(In)g(particular)m(,)f(it)h(tends)g(to)h(identify)e
(the)h(command)e(set)j(too)f(v)n(aguely)-5 b(.)18 b(F)o(or)i(e)o
(xample,)e(man)o(y)h(Epson)h(printers)f(report)396 3307
y(merely)h("ESCPL2",)f(which)h(is)h(not)f(nearly)f(precise)h(enough)e
(to)j(usefully)e(dri)n(v)o(e)g(the)h(printer)-5 b(.)396
3580 y(When)20 b(the)g(v)n(alue)g(is)h("Raster",)f(the)h(follo)n(wing)d
(parameters)h(are)h(required,)e(and)i(are)g(subsidiary)f(to)i(this)f
(one:)g(Dpi,)396 3688 y(W)m(idth,)g(Height,)g(BitsPerSample,)g
(ColorSpace,)e(and)i(NumChan.)-2 4027 y Fb(4.6.)34 b(Dpi)396
4301 y Fg(This)21 b(parameter)d(is)j(the)g(resolution)d(for)i(transfer)
f(of)h(raster)g(data.)g(It)h(is)g(speci\002ed)f(as)h(a)f(horizontal)f
(resolution,)f(in)396 4409 y(\003oating)i(decimal)f(dpi)h(units,)g(an)g
("x",)g(and)g(a)g(v)o(ertical)g(resolution,)e(in)j(\003oating)e
(decimal)h(dpi)g(units.)g(Thus,)f(a)i(typical)396 4517
y(v)n(alue)f(is)h("1440x720".)396 4791 y(Note)f(that)h(the)f(serv)o(er)
f(may)h(perform)e(scaling)i(of)g(the)g(raster)g(data)g(as)h(part)f(of)g
(its)h(processing,)e(before)g(sending)g(it)i(to)396 4899
y(the)f(de)n(vice.)g(In)g(these)g(cases,)h(the)f(Dpi)g(parameter)f
(speci\002es)h(the)h(resolution)d(prior)i(to)g(scaling.)g(F)o(or)f(e)o
(xample,)g(a)396 5007 y(dri)n(v)o(er)g(might)g(accept)h(720)g(dpi)f
(raster)i(data,)e(then)h(perform)e(2:1)i(horizontal)f(pix)o(el)g
(replication)g(to)h(dri)n(v)o(e)f(the)i(actual)396 5114
y(de)n(vice)f(at)g(1440x720)d(dpi.)j(In)g(this)g(e)o(xample,)f(the)h(v)
n(alue)g(of)g(the)g(Dpi)g(parameter)f(is)i("720x720".)p
Black 3842 5569 a Fd(9)p Black eop
%%Page: 10 10
10 9 bop Black 0 TeXcolorgray Black 3020 -132 a Fd(IJS)20
b(Pr)l(otocol)f(Speci\002cation)p Black -2 77 a Fb(4.7.)34
b(Width)396 351 y Fg(This)21 b(parameter)d(is)j(the)g(decimal)e
(encoded)g(width)h(of)f(the)i(raster)f(image,)f(in)i(pix)o(els.)e(It)i
(MUST)f(be)g(set)h(when)396 459 y(P)o(ageImageF)o(ormat)c(is)k(Raster)
-5 b(.)-2 797 y Fb(4.8.)34 b(Height)396 1071 y Fg(This)21
b(parameter)d(is)j(the)g(decimal)e(encoded)g(height)g(of)h(the)g
(raster)g(image,)g(in)g(pix)o(els.)g(It)g(MUST)g(be)h(set)g(for)e
(raster)396 1179 y(images.)-2 1517 y Fb(4.9.)34 b(BitsP)l(erSample)396
1791 y Fg(This)21 b(parameter)d(is)j(the)g(decimal)e(encoded)g(bit)h
(depth)f(of)h(samples)g(for)g(pix)o(el)g(v)n(alues.)f(It)i(MUST)f(be)g
(set)h(for)f(raster)396 1899 y(images.)g(V)-9 b(alid)20
b(v)n(alues)g(include)f(1-7)g(\(implying)g(client-side)g(dithering)g
(of)h(image)f(pix)o(els\),)h(8,)g(and)f(16)h(\(both)396
2007 y(implying)f(serv)o(er)n(-side)g(dithering)f(if)j(needed)e(by)h
(the)g(de)n(vice\).)f(In)h(general,)e(the)j(total)f(number)e(of)i(bits)
h(per)f(pix)o(el)f(is)396 2115 y(equal)h(to)g(BitsPerSample)h(times)f
(NumChan.)396 2389 y(In)g(man)o(y)f(cases,)i(querying)d(this)i
(parameter)f(will)i(be)f(useful.)g(A)g(\223dumb\224)f(serv)o(er)g(may)h
(choose)f(not)h(to)g(implement)396 2497 y(color)g(transform)e(and)i
(dithering,)e(lea)n(ving)i(these)g(to)g(the)h(client.)f(In)f(this)i
(case,)g(the)f(result)g(of)g(the)g(query)f(operation)396
2605 y(will)i(be)f(a)h(list)g(of)f(bit)g(depths)g(actually)f(supported)
f(by)i(the)g(de)n(vice.)f(Simple)h(de)n(vices)g(may)f(report)g("1",)h
(while)g(de)n(vices)396 2713 y(capable)g(of)f(both)h(bile)n(v)o(el)f
(and)h(4-le)n(v)o(el)f(v)n(ariable)g(dots)h(may)g(report)f("1,2".)396
2987 y(Note)h(that)h(not)f(all)g(combinations)e(of)i(BitsPerSample)h
(and)e(ColorSpace)g(are)i(v)n(alid.)e(In)h(particular)m(,)e
(BitsPerSample)396 3095 y(less)k(than)d(8)i(in)f(combination)e(with)i
(a)h(ColorSpace)e(of)h(sRGB)i(or)d(an)o(y)h(other)f(colorimetric)g
(color)g(space)h(are)g(not)396 3203 y(v)n(alid.)g(Also)g(for)g(scRGB)h
(\(also)g(kno)n(wn)d(as)j(sRGB64\),)f(16)g(is)h(the)f(only)g(v)n(alid)g
(v)n(alue.)396 3477 y(When)g(the)g(v)n(alue)g(is)h(16,)f(the)g(ByteSe)o
(x)g(parameter)e(is)k(required,)c(and)h(is)i(subsidiary)e(to)i(this)g
(one.)-2 3815 y Fb(4.10.)35 b(ByteSe)n(x)396 4089 y Fg(When)20
b(BitsPerSample)h(is)g(equal)e(to)i(16,)e(this)i(parameter)e
(speci\002es)h(the)g(byte)g(se)o(x)g(of)g(the)g(raster)h(data.)e
(Possible)396 4197 y(v)n(alues)h(are)g("big-endian")e(and)h
("little-endian".)396 4471 y(Enumerating)f(this)j(parameter)d(should)h
(list)j(the)e(preferred)e(byte)i(se)o(x)g(as)h(the)f(def)o(ault)f(\(ie)
i(\002rst)g(in)f(the)396 4579 y(comma-separated)e(list\).)i(In)g(most)g
(cases,)h(this)g(will)g(be)f(the)g(byte)g(se)o(x)g(of)g(the)g(serv)o
(er')-5 b(s)20 b(host)g(architecture.)396 4853 y(Serv)o(ers)g(limited)g
(to)g(8)g(bits)h(of)f(depth)f(need)h(not)g(implement)f(this)h
(parameter)f(at)i(all.)p Black 3800 5569 a Fd(10)p Black
eop
%%Page: 11 11
11 10 bop Black 0 TeXcolorgray Black 3020 -132 a Fd(IJS)20
b(Pr)l(otocol)f(Speci\002cation)p Black -2 77 a Fb(4.11.)35
b(ColorSpace)396 351 y Fg(This)21 b(parameter)d(is)j(a)g(string)f
(identifying)e(the)i(color)g(space)g(of)g(the)g(raster)g(image)g(data.)
g(It)g(MUST)g(be)h(set)g(for)e(raster)396 459 y(images.)h(Standard)f(v)
n(alues)h(include)f("De)n(viceGray",)f("De)n(viceRGB",)i("De)n
(viceCMYK",)f(and)h("sRGB".)h(Serv)o(ers)396 566 y(should)e(support)g
(at)i(least)g(one)f(of)f(these)i(color)e(spaces.)h(Clients)h(should)f
(be)g(able)g(to)g(produce)e(raster)i(output)f(if)i(at)396
674 y(least)g(one)f(of)g(these)g(color)f(spaces)i(is)g(supported)d(by)i
(the)g(serv)o(er)-5 b(.)p Black -85 793 a Fe(*)p Black
64 w(I)19 b(think)g(we)g(should)h(have)g(a)f(wide-gamut)g(colorimetric)
g(color)h(space)f(in)g(the)g(standar)m(d)i(list)d(as)h(well.)f(I)g(lik)
o(e)h(La*b*)h(with)e(a)h(r)m(ecommended)i(bit)-2 901
y(depth)e(of)g(16.)g(Any)g(objections?)396 1175 y Fg(A)i(de)n(vice)e
(may)h(choose)f(to)i(pro)o(vide)d(more)h(color)h(spaces.)g(F)o(or)g(e)o
(xample,)e(6)i(color)g(inkjets)g(may)g(pro)o(vide)e(a)396
1283 y("De)n(viceCcMmYK")h(space.)h(In)g(general,)f(for)h(a)g(client)g
(to)h(use)f(an)o(y)g(of)f(these)i(nonstandard)c(spaces)k(requires)396
1390 y(detailed)f(kno)n(wledge)e(of)i(the)g(color)f(rendering)f
(characteristics)i(of)g(the)g(de)n(vice.)396 1664 y(Serv)o(ers)g
(should)f(not)h(pro)o(vide)e(additional)h(color)g(spaces)i(which)e(are)
h(merely)g(transforms)e(of)i(the)h(standard)e(color)396
1772 y(spaces.)h(Examples)g(of)g(such)f(discouraged)f(color)i(spaces)g
(are)g(HSV)-11 b(,)21 b(XYZ,)f(Luv)-5 b(,)19 b(Y)-9 b(uv)k(,)19
b(YCC,)i(and)f(colorimetric)396 1880 y(RGB)i(spaces)e(other)g(than)f
(sRGB)j(\(T)o(ODO:)e(unless)g(we)g(decide)g(to)g(accept)g
(scRGB/sRGB64\).)-2 2219 y Fb(4.12.)35 b(NumChan)396
2493 y Fg(This)20 b(parameter)d(is)k(the)e(number)e(of)i(channels)f(in)
i(the)f(chosen)f(color)h(space.)g(In)g(general,)e(it)j(can)f(be)h
(determined)d(from)396 2601 y(the)j(ColorSpace.)f(In)h(particular)m(,)f
(De)n(viceGray)f(implies)j(1,)f(De)n(viceRGB)g(and)g(sRGB)h(imply)f(3,)
g(and)g(De)n(viceCMYK)396 2709 y(implies)h(4.)f(Attempting)f(to)h(set)h
(a)f(NumChan)g(inconsistent)f(with)h(ColorSpace)f(should)h(result)g(in)
g(an)g(error)-5 b(.)-2 3047 y Fb(4.13.)35 b(P)l(aperSiz)q(e)396
3321 y Fg(This)21 b(parameter)d(is)j(in)g(W)-8 b(.WWxH.HH)21
b(format,)e(in)h(inches,)g(i.e.)g(a)h(string)e(that)i(may)e(be)i
(produced)c(by)j(sprintf)f(\(str)m(,)396 3429 y("\045fx\045f",)h
(width,)f(height\).)g(If)h(the)g(serv)o(er)g(kno)n(ws)f(the)h(paper)f
(size)i(\(which)f(is)h(unlik)o(ely)e(for)g(inkjets\),)h(then)g(getting)
396 3537 y(the)g(parameter)f(will)i(gi)n(v)o(e)e(a)i(good)e(v)n(alue.)g
(In)h(the)g(more)g(common)e(case,)i(get)h(simply)e(returns)h(an)g
(error)f(code)g(\(todo:)396 3645 y(probably)f(need)i(to)g(allocate)g(a)
h(ne)n(w)f(one)f(for)h(this\).)g(Enumerating)e(this)i(parameter)f(may)h
(gi)n(v)o(e)f(a)i(list)g(of)f(paper)f(sizes)396 3753
y(kno)n(wn)g(by)h(the)g(dri)n(v)o(er)f(that)h(are)g(plausible)g(for)f
(the)h(de)n(vice.)396 4027 y(The)g(result)g(of)g(getting)f(or)h
(enumerating)e(P)o(aperSize)i(may)f(change)g(dynamically)f(depending)g
(on)h(the)i(De)n(viceModel,)396 4135 y(Duple)o(x,)e(and)h(possibly)f
(\223e)o(xtension\224)g(parameters)g(such)g(as)i(those)f(for)g
(selecting)g(trays.)396 4409 y(Note)g(that)h(this)f(parameter)f(is)i
(essentially)f(the)h(same)f(as)h(the)f(P)o(ageSize)g(page)g(de)n(vice)f
(parameter)-5 b(.)19 b(The)h(main)396 4517 y(dif)n(ference)e(is)k
(units)e(\(PostScript)g(uses)g(1/72")g(inch)f(units\),)h(and)g(the)g
(minor)f(syntax)g(nit)i(of)f(PostScript)g(array)396 4625
y(encoding.)p Black 3800 5569 a Fd(11)p Black eop
%%Page: 12 12
12 11 bop Black 0 TeXcolorgray Black 3020 -132 a Fd(IJS)20
b(Pr)l(otocol)f(Speci\002cation)p Black -2 77 a Fb(4.14.)35
b(Printab)o(leArea)396 351 y Fg(This)21 b(parameter)d(is)j(in)g(W)-8
b(.WWxH.HH)21 b(format,)e(and)g(describes)h(the)g(printable)f(area)h
(of)g(the)g(page.)f(It)i(is)g(e)o(xpected)396 459 y(that)g(the)f
(client)g(will)h(usually)f(get)g(it)h(from)e(the)h(serv)o(er)-5
b(.)20 b(An)o(y)f(attempt)h(to)g(set)h(it)g(is)g(allo)n(wed)f(to)g(f)o
(ail)h(with)f(an)g(error)m(,)396 566 y(e)n(v)o(en)f(if)i(it')-5
b(s)21 b(the)f(same)h(v)n(alue)e(as)i(the)f(get.)g(The)g(v)n(alue)g
(may)f(change)g(dynamically)g(depending)e(on)j(P)o(aperSize)f(and)396
674 y(other)h(parameters.)-2 1013 y Fb(4.15.)35 b(Printab)o(leT)-10
b(opLeft)396 1287 y Fg(This)21 b(parameter)d(is)j(in)g(W)-8
b(.WWxH.HH)21 b(format,)e(and)g(contains)h(the)g(left)g(and)g(top)g
(mar)o(gins)f(of)h(the)g(printable)f(area)396 1395 y(with)i(respect)f
(to)g(the)g(media.)f(It)i(is)g(the)f(companion)e(to)i(PrintableArea)f
(\(I'm)g(considering)g(ha)n(ving)g(a)h(single)396 1503
y(parameter)f(that)h(ASCII)h(encodes)e(the)h(four)f(\003oats\).)-2
1841 y Fb(4.16.)35 b(T)-10 b(opLeft)396 2115 y Fg(This)21
b(parameter)m(,)d(in)i(W)-8 b(.WWxH.HH)21 b(is)g(intended)e(to)h(be)g
(set,)h(and)f(controls)f(the)h(placement)f(of)h(the)g(raster)h(image)e
(on)396 2223 y(the)h(page.)g(The)g(corresponding)c(size)21
b(of)f(the)g(raster)g(image)g(area)g(can)g(be)g(inferred)f(from)g(the)h
(W)m(idth,)g(Height,)f(and)396 2331 y(Dpi)i(parameters.)-2
2670 y Fb(4.17.)35 b(P)-5 b(ostScript)33 b(P)l(a)o(g)q(e)i(De)n(vice)g
(P)l(arameter)n(s)396 2944 y Fg(PostScript)20 b(de\002nes)g(a)h(number)
d(of)i(page)g(de)n(vice)f(parameters,)g(man)o(y)g(of)h(which)f(are)i
(rele)n(v)n(ant)e(to)h(IJS,)h(whether)e(using)396 3051
y(PostScript)h(or)g(not.)g(Further)m(,)f(man)o(y)g(proposals)f(for)i
(characterizing)e(de)n(vice)h(capabilities)h(are)g(based)g(on)g(PPD)h
(\002les,)396 3159 y(which)f(use)g(a)h(consistent)f(namespace)f(and)g
(semantics)i(to)f(page)f(de)n(vice)h(parameters.)396
3433 y(IJS)h(imports)f(the)g(namespace)f(of)h(PostScript)g(page)f(de)n
(vice)h(parameters,)e(pre\002xing)h(it)i(with)f(the)g(string)g("PS:".)h
(The)396 3541 y(client)f(can)g(assume)h(that)f(an)o(y)f(parameters)g
(returned)g(by)g(a)i(LIST_P)-8 b(ARAMS)20 b(command)f(matching)f(this)j
(pre\002x)e(are)396 3649 y(in)i(f)o(act)f(PostScript)g(page)g(de)n
(vice)f(parameters.)g(V)-9 b(alues)20 b(are)g(straightforw)o(ard)e
(ASCII)i(encodings.)e(F)o(or)i(e)o(xample,)396 3757 y(arrays)g(are)g
(encoded)e(as)j(space-separated)e(v)n(alues,)g(enclosed)g(in)i(square)e
(brack)o(ets.)g(The)h(set)h(of)f(v)n(alid)g(page)f(de)n(vice)396
3865 y(parameters)g(is)i(de\002ned)f(in)g(the)g(PostScript)g(Language)e
(Reference)i(Manual[PLRM],)e(particularly)h(Chapter)g(6.)396
4139 y(Some)h(page)g(de)n(vice)f(parameters)g(are)h(subsumed)f(by)h
(nati)n(v)o(e)f(IJS)i(parameters,)e(and)g(should)g(not)h(be)g(used.)g
(These)396 4247 y(include)f(P)o(ageSize)h(\(subsumed)f(by)h(P)o
(aperSize\),)e(ProcessColorModel)h(\(subsumed)f(by)i(ColorSpace\),)f
(Mar)o(gins)396 4355 y(and)h(P)o(ageOf)n(fset)f(\(subsumed)g(by)g(T)-7
b(opLeft\),)19 b(and)h(HWResolution)g(\(subsumed)e(by)i(Dpi\).)396
4629 y(De)n(vices)g(supporting)e(duple)o(xing)g(should)h(implement)g
(PS:Duple)o(x)g(and)h(PS:T)l(umble,)f(both)h(booleans.)e(A)j(v)n(alue)f
(of)396 4737 y(true)g(for)g(PS:Duple)o(x)f(requests)h(printing)e(on)i
(both)g(sides)g(of)g(the)h(page.)e(When)h(PS:Duple)o(x)f(is)i(true,)f
(PS:T)l(umble)396 4845 y(speci\002es)h(the)e(relati)n(v)o(e)h
(orientation)e(of)h(the)h(pages.)f(When)h(PS:T)l(umble)f(is)i(f)o
(alse,)f(the)g(pages)g(are)f(oriented)g(suitably)g(at)396
4953 y(the)h(left)g(or)f(right.)g(When)h(PS:T)l(umble)f(is)h(true,)f
(the)h(pages)f(are)h(oriented)e(suitably)i(for)f(binding)f(at)i(the)f
(top)h(or)f(bottom.)396 5061 y(Enumerating)f(the)i(PS:Duple)o(x)f
(parameter)g(should)g(return)g(a)i(single)f("f)o(alse")g(v)n(alue)g
(when)g(the)g(serv)o(er)f(kno)n(ws)g(that)396 5168 y(the)h(de)n(vice)g
(is)h(not)f(capable)f(of)h(duple)o(xing,)d(and)j(either)g("f)o
(alse,true")f(or)h("true,f)o(alse")f(if)i(it)g(may)e(be.)p
Black 3800 5569 a Fd(12)p Black eop
%%Page: 13 13
13 12 bop Black 0 TeXcolorgray Black 3020 -132 a Fd(IJS)20
b(Pr)l(otocol)f(Speci\002cation)p Black Black -85 72
a Fe(*)p Black 46 w(Note)f(that)g(the)g(HPIJS)g(1.0)g(implementation)h
(of)f(IJS,)g(identifying)h(itself)e(as)h(IJS)h(ver)o(sion)g(0.29,)f
(speci\002es)h(an)g(inte)m(g)o(er)o(-valued)g(Duple)o(x)g(par)o(ameter)
-8 b(,)-2 180 y(with)18 b(values)i(of)f(0)g(\(PS:Duple)o(x)f(=)h(false)
o(,)g(PS:T)l(umble)g(don')n(t)g(car)m(e\),)g(1)g(\(PS:Duple)o(x)g(=)g
(true)o(,)g(PS:T)l(umble)g(=)g(false\),)f(and)i(2)f(\(PS:Duple)o(x)g(=)
g(true)o(,)-2 288 y(PS:T)l(umble)f(=)h(true\).)g(An)g(inte)m(g)o(er)g
(valued)h(Duple)o(x)f(par)o(ameter)h(is)f(inconsistent)g(with)g(the)g
(P)-6 b(ostScript)19 b(speci\002cation.)h(Howe)o(ver)-8
b(,)19 b(clients)-2 396 y(desiring)g(compatibility)g(should)h(set)f
(the)g(inte)m(g)o(er)o(-valued)h(Duple)o(x)f(par)o(ameter)h(r)o(ather)f
(than)h(the)f(PS:)g(par)o(ameter)o(s)h(when)f(the)g(server)g(r)m
(eports)h(a)-2 504 y(ver)o(sion)g(of)e(0.29.)396 778
y Fg(De)n(vices)i(supporting)e(roll-fed)h(media)h(should)f(implement)g
(PS:RollFedMedia,)g(PS:Orientation,)396 886 y(PS:Adv)n(anceMedia,)f
(PS:Adv)n(anceDistance)h(\(note)g(that)i(units)f(are)g(inte)o(ger)f
(1/72"\),)g(and)g(PS:CutMedia.)396 1160 y(Other)h(parameters)f(that)h
(may)g(be)g(useful)g(for)f(some)h(de)n(vices)g(include)f(PS:MediaColor)
m(,)g(PS:MediaW)-7 b(eight,)396 1268 y(PS:MediaT)g(ype,)19
b(PS:MediaClass,)i(PS:InsertSheet,)f(PS:LeadingEdge,)d(PS:ManualFeed,)i
(PS:T)m(raySwitch,)396 1376 y(PS:MediaPosition,)h(PS:ImageShift,)e
(PS:MirrorPrint,)h(PS:Ne)o(gati)n(v)o(ePrint,)f(PS:NumCopies,)i
(PS:Collate,)396 1484 y(PS:Jog,)g(PS:OutputF)o(aceUp,)f
(PS:Separations,)g(and)h(PS:SeparationColorNames.)e(Other)h(parameters)
g(are)396 1592 y(allo)n(wed,)h(b)n(ut)g(are)g(unlik)o(ely)f(to)h(be)g
(useful)g(in)g(an)h(IJS)f(conte)o(xt.)-2 2062 y Fh(5.)39
b(P)l(arameter)f(Namespace)f(Extension)396 2336 y Fg(While)21
b(this)g(document)d(speci\002es)j(enough)d(parameters)h(to)h(be)g(able)
g(to)h(print)e(usefully)-5 b(,)19 b(there)g(is)j(a)e(huge)f(di)n(v)o
(ersity)g(of)396 2444 y(de)n(vices)h(and)g(applications,)e(often)i
(indicating)f(additional)f(parameters)h(not)h(speci\002ed.)g(IJS)h(is)g
(designed)e(to)396 2552 y(accomodate)g(these)h(additional)f(parameters)
g(as)i(e)o(xtensions.)d(It)j(is)g(e)o(xpected)e(that)h(the)g(namespace)
f(of)h(these)396 2660 y(e)o(xtensions)e(will)j(be)e(managed)e
(informally)-5 b(.)17 b(Note)i(that)h(collisions)f(in)h(this)g
(namespace)e(are)h(not)g(necessarily)g(f)o(atal,)g(as)396
2768 y(man)o(y)g(will)i(be)f(de)n(vice)g(or)g(manuf)o(acturer)d
(speci\002c,)j(so)h(that)f(the)g(de)n(vice)g(id)g(may)g(be)g(used)g(to)
g(disentangle)f(them.)396 2876 y(Ev)o(en)g(so,)i(it)g(is)g(clearly)e(a)
i(good)e(idea)h(to)g(manage)f(this)i(namespace)e(well.)h(This)h
(section)f(recommends)e(some)396 2984 y(practices)i(to)n(w)o(ards)g
(this)g(goal.)396 3258 y(When)g(possible,)f(e)o(xtension)g(parameters)g
(should)g(be)g(pre\002x)o(ed,)f(with)j(a)f(colon)f(separating)g(the)h
(pre\002x)f(from)g(the)h(base)396 3366 y(parameter)f(name.)g(W)-7
b(ell)22 b(kno)n(wn)c(pre\002x)o(es)i(gi)n(v)o(e)f(clients)i(useful)e
(information)f(about)h(parameters,)g(e)n(v)o(en)g(when)h(the)396
3474 y(client)g(lacks)h(information)d(about)h(the)h(speci\002c)g
(parameter)-5 b(.)19 b(An)i(unkno)n(wn)c(pre\002x)j(at)g(least)h(allo)n
(ws)g(the)f(client)g(to)396 3582 y(identify)f(the)i(parameter)d(as)j(a)
g(nonstandard)c(e)o(xtension.)396 3856 y(This)k(document)d(speci\002es)
j(a)f(number)f(of)g(standard)g(pre\002x)o(es.)h(W)-7
b(e)21 b(also)f(reserv)o(e)g(the)g(follo)n(wing)e(pre\002x)o(es)i(for)
396 3964 y(possible)g(use)h(in)f(future)f(re)n(visions)g(of)h(this)h
(protocol:)e(IPP)-9 b(,)20 b(UPDF)-7 b(.)21 b(Further)m(,)e(the)h
(Omni:)g(pre\002x)f(is)i(reserv)o(ed)e(for)h(the)396
4071 y(Omni)g(group)f(at)h(IBM,)h(and)e(CUPS:)j(is)f(reserv)o(ed)e(for)
g(the)h(CUPS)i(project.)p Black -85 4190 a Fe(*)p Black
46 w(Robert,)d(do)g(you)g(want)g(STP:?)g(Anyone)h(else?)-2
4518 y Fb(5.1.)34 b(Quality:)396 4792 y Fg(Inkjet)20
b(printers)f(often)g(pro)o(vide)g(a)h(rich)g(set)h(of)f(options)f(for)h
(tuning)f(output)g(quality)-5 b(,)18 b(or)i(selecting)g(a)h(point)e
(along)h(a)396 4900 y(speed/quality)f(tradeof)n(f.)f(The)i(details)g
(of)g(these)h(options)e(v)n(ary)g(widely)h(from)f(de)n(vice)g(to)i(de)n
(vice.)e(When)h(made)396 5008 y(a)n(v)n(ailable)g(through)e(IJS,)j(the)
o(y)e(should)g(be)h(grouped)e(under)h(the)h(Quality:)g(pre\002x.)p
Black 3800 5569 a Fd(13)p Black eop
%%Page: 14 14
14 13 bop Black 0 TeXcolorgray Black 3020 -132 a Fd(IJS)20
b(Pr)l(otocol)f(Speci\002cation)p Black 396 72 a Fg(F)o(or)h(e)o
(xample,)f(HPIJS)i(1.0)e(has)i(the)f(follo)n(wing)e(parameters,)h(for)h
(HP)g(inkjet)g(printers:)g(Quality)-5 b(,)19 b(MediaT)-7
b(ype,)396 180 y(ColorMode,)19 b(and)g(PenSet.)h(T)-7
b(o)21 b(be)f(compliant)f(with)h(v)o(ersions)f(0.30)g(and)h(later)g(of)
g(IJS,)h(the)o(y)e(should)g(be)i(named)396 288 y(Quality:Quality)-5
b(,)19 b(Quality:MediaT)-7 b(ype,)17 b(Quality:ColorMode,)h(and)h
(Quality:PenSet.)396 562 y(Note)h(that)h(Quality:MediaT)-7
b(ype)18 b(o)o(v)o(erlaps)g(some)n(what)i(with)g(PS:MediaT)-7
b(ype.)19 b(In)h(general,)f(the)h(former)f(speci\002es)h(a)396
670 y(color)g(pro\002le)f(or)h(printing)f(mode)g(\(for)g(e)o(xample,)g
(to)h(optimize)f(printing)g(on)h(transparencies\).)e(The)i(latter)g(is)
h(often)396 778 y(used)f(for)g(selecting)g(a)g(paper)f(source,)h(for)f
(e)o(xample)g(letterhead)g(or)h(en)m(v)o(elopes.)e(The)i(former)e(is)k
(more)d(lik)o(ely)h(to)g(be)396 886 y(useful)g(in)g(inkjet)g
(applications.)396 1160 y(The)g(Dpi)g(and)g(ColorSpace)f(parameters)g
(are)h(subsidiary)f(to)i(an)o(y)e(Quality:)h(parameters)f(pro)o(vided.)
-2 1499 y Fb(5.2.)34 b(Finishing:)396 1773 y Fg(Finishing)20
b(options,)f(such)h(as)h(stapling)e(and)h(collating,)f(should)g(be)h
(grouped)e(under)h(the)h(Finishing)g(pre\002x.)396 2046
y(The)g(PS)h(page)f(de)n(vice)f(parameter)g(namespace)g(includes)g
(some)h(\002nishing)g(options,)f(including)f(Duple)o(x,)h(T)l(umble,)
396 2154 y(Collate,)i(Jog,)e(and)h(the)g(roll-fed)f(parameters:)g
(RollFedMedia,)g(Orientation,)g(Adv)n(anceMedia,)f(Adv)n(anceDistance,)
396 2262 y(and)i(CutMedia.)f(F)o(or)h(these)h(parameters,)d(the)j(PS:)g
(pre\002x)e(is)i(preferred.)396 2536 y(The)f(PPD)h(speci\002cation)f
(describes)f(a)i(number)d(of)i(additional)f(\002nishing)g(parameters)g
(\(section)h(5.18)f(of)h([PPD]\).)396 2644 y(Where)g(possible,)g
(Finishing:)f(parameters)g(should)h(be)g(consistent)g(with)g(the)g(PPD)
h(speci\002cation.)-2 2983 y Fb(5.3.)34 b(PPD:)396 3257
y Fg(The)20 b(PPD)h(speci\002cation[PPD])e(contains)h(a)g(lar)o(ge)f
(number)g(of)h(options)f(and)h(parameters)f(that)h(may)g(be)g(pro)o
(vided)d(by)396 3365 y(printers.)i(The)h(PPD:)h(pre\002x)f(is)h(reserv)
o(ed)e(for)g(PPD)i(parameters)e(that)h(are)h(made)e(a)n(v)n(ailable)h
(through)e(the)i(IJS)396 3473 y(protocol.)396 3747 y(In)g(cases)h
(where)f(both)f(a)i(page)e(de)n(vice)h(parameter)e(and)i(a)g(PPD)h
(parameter)e(specify)h(the)g(same)g(setting,)g(the)g(PS:)i(page)396
3854 y(de)n(vice)e(parameter)e(tak)o(es)j(priority)-5
b(.)18 b(In)i(man)o(y)f(cases,)i(page)e(de)n(vice)g(parameters)g(are)i
(adv)n(antageous)c(because)j(the)o(y)396 3962 y(are)g(designed)f(for)h
(both)f(getting)h(and)f(setting,)h(while)g(PPD)h(itself)g(is)g(a)g
(static)g(\002le)g(format.)e(In)h(addition,)e(\002nishing)396
4070 y(parameters)h(should)g(be)i(under)d(the)j(Finishing:)e
(namespace.)396 4344 y(In)h(general,)f(use)h(of)g(the)h(PPD:)g(e)o
(xtension)d(is)k(not)d(recommended,)e(as)k(the)f(PPD)h(\002le)g(format)
e(tends)h(to)h(be)f(speci\002c)g(to)396 4452 y(PostScript)g(printers.)p
Black -85 4571 a Fe(*)p Black 46 w(W)-7 b(e)19 b(could)h(use)f(mor)m(e)
g(speci\002c)h(advice)g(on)f(when)h(to)f(use)g(PPD:)f(par)o(ameter)o
(s,)h(and)h(when)g(not)f(to.)f(Anyone)i(with)e(mor)m(e)i(PPD)e
(knowledg)o(e)i(willing)-2 4678 y(to)f(help)g(with)f(this?)p
Black 3800 5569 a Fd(14)p Black eop
%%Page: 15 15
15 14 bop Black 0 TeXcolorgray Black 3020 -132 a Fd(IJS)20
b(Pr)l(otocol)f(Speci\002cation)p Black -2 91 a Fh(6.)39
b(Err)m(or)g(codes)396 365 y Fg(An)o(y)20 b(IJS)h(command)d(may)i
(either)f(succeed)h(or)g(f)o(ail.)g(Success)h(is)g(indicated)e(by)h(an)
g(IJS_A)m(CK)g(response.)f(F)o(ailure)h(is)396 473 y(indicated)f(by)h
(an)g(IJS_N)m(AK)h(response,)e(which)g(includes)h(an)g(inte)o(ger)f
(error)g(code.)396 747 y(The)h(current)f(draft)g(contains)h(the)g
(follo)n(wing)f(error)g(codes:)396 948 y Ff(T)-8 b(able)21
b(4.)f(Draft)g(IJS)g(Err)o(or)g(Codes)p 396 1042 3501
4 v 396 1042 V 396 1169 4 127 v 400 1144 a Fc(Symbolic)j(de\002nition)p
1562 1169 V 398 w(Numeric)g(v)n(alue)p 2728 1169 V 601
w(Meaning)p 3893 1169 V 396 1172 3501 4 v 396 1172 V
396 1299 4 127 v 400 1274 a Fg(IJS_EIO)p 1562 1299 V
878 w(-2)p 2728 1299 V 1096 w(I/O)d(error)p 3893 1299
V 396 1302 3501 4 v 396 1302 V 396 1428 4 127 v 400 1403
a(IJS_EPR)m(O)m(T)o(O)p 1562 1428 V 701 w(-3)p 2728 1428
V 1096 w(protocol)e(error)p 3893 1428 V 396 1432 3501
4 v 396 1432 V 396 1558 4 127 v 400 1533 a(IJS_ERANGE)p
1562 1558 V 680 w(-4)p 2728 1558 V 1096 w(out)i(of)g(range)p
3893 1558 V 396 1561 3501 4 v 396 1561 V 396 1688 4 127
v 400 1663 a(IJS_EINTERN)m(AL)p 1562 1688 V 553 w(-5)p
2728 1688 V 1096 w(internal)f(error)p 3893 1688 V 396
1691 3501 4 v 396 1691 V 396 1817 4 127 v 400 1792 a(IJS_ENYI)p
1562 1817 V 818 w(-6)p 2728 1817 V 1096 w(not)h(yet)g(implemented)p
3893 1817 V 396 1821 3501 4 v 396 1821 V 396 1947 4 127
v 400 1922 a(IJS_ESYNT)-8 b(AX)p 1562 1947 V 637 w(-7)p
2728 1947 V 1096 w(syntax)19 b(error)p 3893 1947 V 396
1950 3501 4 v 396 1950 V 396 2077 4 127 v 400 2052 a(IJS_ECOLORSP)-8
b(A)m(CE)p 1562 2077 V 438 w(-8)p 2728 2077 V 1096 w(unkno)n(wn)18
b(color)h(space)p 3893 2077 V 396 2080 3501 4 v 396 2080
V 396 2206 4 127 v 400 2181 a(IJS_EUNKP)-8 b(ARAM)p 1562
2206 V 499 w(-9)p 2728 2206 V 1096 w(unkno)n(wn)18 b(parameter)p
3893 2206 V 396 2210 3501 4 v 396 2210 V 396 2336 4 127
v 400 2311 a(IJS_EJOBID)p 1562 2336 V 731 w(-10)p 2728
2336 V 1054 w(job)i(id)g(doesn')o(t)f(match)p 3893 2336
V 396 2339 3501 4 v 396 2339 V 396 2466 4 127 v 400 2441
a(IJS_ET)o(OOMANYJOBS)p 1562 2466 V 349 w(-11)p 2728
2466 V 1054 w(reached)g(limit)h(of)g(serv)o(er')-5 b(s)20
b(#jobs)p 3893 2466 V 396 2469 3501 4 v 396 2469 V 396
2595 4 127 v 400 2570 a(IJS_EB)o(UF)p 1562 2595 V 806
w(-12)p 2728 2595 V 1054 w(b)n(uf)n(fer)f(isn')o(t)h(big)f(enough)p
3893 2595 V 396 2599 3501 4 v 396 2599 V 396 2848 a(Ho)n(we)n(v)o(er)m
(,)f(I)i(see)g(that)g(this)g(list)h(o)o(v)o(erlaps)d(the)i(status)g
(codes)f(for)h(IPP)g(operations)e(\(section)h(13.2)g(of)g([RFC)i
(2911]\))c(to)j(a)396 2956 y(lar)o(ge)f(e)o(xtent.)h(I)g(am)g(strongly)
f(considering)f(unifying)g(these.)-2 3343 y Fh(7.)39
b(Ac)m(kno)n(wledg)q(ements)396 3617 y Fg(IJS)21 b(is)g(directly)f
(inspired)f(by)h(the)g(HPIJS)h(w)o(ork)e(done)h(by)f(the)h(HP)h(V)-9
b(ancouv)o(er)18 b(team,)i(particularly)e(Da)n(vid)i(Suf)n(\002eld.)396
3725 y(This)h(spec)f(also)g(bene\002ted)g(from)f(comments)g(and)g
(suggestions)h(from)f(Robert)g(Kra)o(witz,)h(Grant)g(T)-7
b(aylor)m(,)19 b(Glen)396 3833 y(Petrie,)h(Russell)i(Lang,)d(Michael)h
(Sweet,)g(and)g(the)g(Omni)g(team)g(at)h(IBM:)f(Mark)g(V)-9
b(anderW)m(iele,)18 b(Mark)i(Hamzy)-5 b(,)19 b(and)396
3941 y(Pete)i(Zannucci.)p Black -85 4059 a Fe(*)p Black
46 w(Please)e(add)g(your)h(name)g(her)m(e)o(.)f(Incidentally)l(,)g(the)
g Fa(<)p Fe(ac)o(kno)p Fa(>)g Fe(ta)o(g)g(of)g(DocBook)h(seems)f(mor)m
(e)h(r)m(easonable)h(than)e(a)g(section,)g(b)o(ut)g(I)f(can')n(t)h(g)o
(et)h(it)e(to)-2 4167 y(format)h(with)f(a)h(nice)g(title)o(.)-2
4412 y Fb(Ref)o(erences)396 4586 y Fg([RFC)j(2911])c(T)-6
b(.)20 b(Hastings,)g(R.)h(Herriot,)e(R.)i(deBry)-5 b(,)19
b(S.)i(Isaacson,)e(and)h(P)-9 b(.)20 b(Po)n(well,)g Fd(Internet)g
(Printing)g(Pr)l(otocol/1.1:)596 4694 y(Model)f(and)h(Semantics)p
Fg(,)f(September)g(2000.)396 4884 y([IEEE1284])e Fd(IEEE)j
(Std.1284-1994)15 b(Standar)m(d)j(Signaling)g(Method)i(for)g(a)h
(Bi-dir)m(ectional)d(P)-7 b(ar)o(allel)20 b(P)-7 b(eripher)o(al)596
4992 y(Interface)19 b(for)i(P)-7 b(er)o(sonal)20 b(Computer)o(s)p
Fg(,)g(1994.)p Black 3800 5569 a Fd(15)p Black eop
%%Page: 16 16
16 15 bop Black 0 TeXcolorgray Black 3020 -132 a Fd(IJS)20
b(Pr)l(otocol)f(Speci\002cation)p Black 396 72 a Fg([USBPrint])h
Fd(Univer)o(sal)h(Serial)f(Bus)g(De)o(vice)g(Class)h(De\002nition)e
(for)i(Printing)e(De)o(vices)p Fg(,)h(1.1,)g(January)f(2000.)396
263 y([PLRM])h Fd(P)-7 b(ostScript)20 b(Langua)o(g)o(e)f(Refer)m(ence)p
Fg(,)g(third)h(edition,)f(Adobe)g(Systems)h(Incorporated,)d(Addison-W)
-7 b(esle)o(y,)596 371 y(1999.)396 562 y([PPD])21 b Fd(P)-7
b(ostScript)20 b(Printer)g(Description)g(F)l(ile)h(F)-9
b(ormat)q Fg(,)20 b(v)o(ersion)f(4.3,)g(Adobe)g(Systems)i
(Incorporated,)c(T)-6 b(echnical)596 670 y(Note)20 b(5003,)e(9)i
(February)f(1996.)p Black 3798 5569 a Fd(16)p Black eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF