SC 18/WG 8 **N858**

**TITLE:** SPDL Editing Instructions

**TO:** SPDL Project Editors

**SOURCE:** SC 18/WG 8

**STATUS:** Instructions to SPDL Editors

**DATE:** 21 April 1989

SC 18/WG 8 instructs the SPDL project editors to produce a new draft of
the Standard Page Description Language (SPDL) from SC 18/WG 8 N796
incorporating the following editing instructions and to forward it to SC
18 Secretariat for registration and ballot as a Draft Proposal.

0\. Include the changes described in N698 and N773 which have not yet
been included.

1\. Change all notes which read \"is to be provided\" or \"to be
determined\" to \"additional x are being considered\" or equivalent
text. Remove all Editors\' Notes.

2\. Editors to consult on the style of Clause 7. Also the second version
of clause 7.3.1 is accepted with the addition of the phrase \"which have
a viewing position\" to paragraph 2.

3\. Clause 8.1 is to read \"An object of type \<Number\> is a real
number whose value is representable according to IEEE 854.\"

4\. The editors note is accepted for 8.5 with the deletion of \"by
definition\".

5\. Correct the specification of the semantics of procedures in 8.14,
8.15, 10.4.2, 10.4.3.

6\. In 8.16 only the first sentence is normative. The remainder should
be made a note.

7\. Remove redundancy in 8.18.

8\. Retain \"External Instruction\". Remove Editors note. Make the
second sentence non-normative. Delete the proposed new 8.19-21.

9\. Revise clause 9 such that state variables contain values. Remove
Editors\' Notes.

10\. The Current (Text) Position is two numbers: CPx and CPy. It was
decided that there will be no Current Graphics Position and that the
Current Position will not be affected by graphics operators, but that
the endpoint of the current path will be queryable. Add such an
operator.

11\. Add text for Current Stroke Join and Current Stroke End. Add text
for Current Clip Region (region in RCS, no type required). Add text for
Current Dash Pattern (type \<Vector\>) value is dash pattern segment
length in UCS). Retain medium size and imagable region variables: remove
editors note.

12\. Review control and computing operators for correctness. Accept
Editor\'s suggestion for change to 10.11-10.12. Bring table forward into
10.2.1. Change Editors note in 10.3.3 to an SPDL note. Renumber
\"7.3.2.3\" to 10.4.4.

13\. Define ROTATE and MAKETRANS operators to make transformations. Add
SETTRANS operator to set the current transformation to the concatenation
of the argument with the initial value of the Current Transformation at
the beginning of the current PICTURE. Add GETTRANS which is the inverse
of SETTRANS.

14\. The set of operators for color is: FINDCOLOR, FINDCOLOROPERATOR,
and FINDCOLORMODELOPERATOR. Color operators and color model operators
are external procerdures and behave like procedure references; the
execution of a color operator or of FINDCOLOR returns an \<Ink\>. We
also need resource declarations for (named) colors, color operators, and
color model operators.

15\. Delete structured names as an SPDL type if possible. Change the
\"hyphen-minus\" character in identifiers to the \"underscore\"
((w)underbar) character.

16\. Review Clause 13 for style consistency, to remove unnecessary
expository material, for consistency with 9541, and to eliminate the use
of structured names. Expository material is to be moved to Annex G.
Eliminate all sentences with three or more occurrences of the word
\"which\".

17\. ShowEscapedString should have incremental adjustments in the
writing direction (defaulting to +x). Add ShowEscapedStringXY with x and
y adjustments. No additional operators are to be addeda at this time.

18\. In general change the term \"Instruction\" to \"Procedure\".

19\. Add a GlyphIndexTable resource declaration and a
FindGlyphIndexTable operator.

20\. Make a table of resource types and FIND operators.

21\. Clause 14 should identify the two types of raster graphics: for
sampled images and to represent masks. The model discussion should be
less discursive; create an informative annex on raster graphics.

22\. Add a standard decompression instruction for byte per pel gray
scale data (ISO-SPDL/octetperpelgray. Delete reference (Ed note) to
ISO-SPDL/standardrasterfile. Add text for CCITT4.

23\. Delete FindAcquisitionInstruction and FindDecompressionInstruction
operators, binding the resources to MaskBitMap and ImageRasterElement
via \"internal names\". Clarify MaskBitMap and ImageRasterElement
operator descriptions.

24\. Add figure for stroke joins and stroke ends.

25\. Add text for geometric graphics model and text for incompletely
described operators in Clause 15. In particular ArcTo and CurveTo must
be defined in detail.

26\. Provide values for StrokeEnd and StrokeJoin.

27\. Provide text for DashPattern.

28\. Provide detailed text for StrokePath and FillPath. Clarify ArcTo
semantics re: relationship of arc to current path, define angle1 and
angle2.

29\. Re: editors notes to Clause 15, FillPath and StrokePath should use
the CurrentPath.

30\. To complete the set of geometric operators, add FillPathOddEven,
BeginPathRelative, LineToRelative, CurveToRelative and ClosePathSegment.

31\. Add a ClearToMark operator. Remove the \"firewall\" semantics of
the Mark data object but retain the Unmark operator.

32\. Incorporate the new Clause 5 generated in Munich. Combine the
previous Claause 5 with the previous Clause 6, as per Munich editing, to
include a complete specification of document structure. Revise the new
Clause 6 for style and organization and to remove redundant text

33\. Add text which describes the clipping model.

34\. Add SaveClippingRegion and RestoreClippingRegion operators (using
an implicit stack for saved clip regions).

35\. Complete the description of ClipPath. Add a ClipPathOddEven
operator. These operators should use the CurrentPath.

36\. Review Clause 17 for alignment with Clause 6.

37\. The content representation is deferred until after DP.

38\. Remove the word \"external\" from subclause 18.3.4.

39\. The Glossary should contain a list of terms and the note
\"Additional terms and definitions to be provided.\"

40\. Complete Annex A.

41\. Retain Annex titles of informative annexes (N715Rev. Annexes C, D,
E) on the representation of ODA formatted form and examples using SGML
and ASN.1 encodings, but state that these are to be the subjects of
technical reports. Delete the previous text of these annexes.

42\. Remove the Open Issues Annex .

43\. Eliminate the current \"context declaration\".

44\. Define \"environment declaration\" to establish context stack and
call it \"context declaration\".

45\. Separarate local dictionaries from context stack and explain.

46\. Eliminate Procedure as a structure.

47\. Add If and IfElse operators.

48\. Add the sequence control operators Repeat and DoWhile.

49\. Add temporary notes identifying that additional work is being done
on: sequence control operators, document production instructions,
exception handling, resource declarations, and content representation.