Recommendation T.417 OPEN DOCUMENT ARCHITECTURE (ODA) AND INTERCHANGE FORMAT - RASTER GRAPHICS CONTENT ARCHITECTURES1) CONTENTS 1 Scope 2 Normative references 3 Definitions 4 General principles 4.1 Content architectures 4.2 Content 4.3 Presentation attributes 4.4 Content portion attributes 4.5 Coding of content information 4.6 Picture element (pel) array 5 Principles of positioning pels 5.1 Basic concepts 5.2 Pel image model 5.3 Positioning of pels 5.4 Positioning of pels in a basic layout object 6 Definition of raster graphics presentation attributes 6.1 Shared presentation attributes 6.2 Layout presentation attributes 6.3 Logical presentation attributes 6.4 Content architecture class attributes 7 Definition of raster graphics content portion attributes 7.1 Common coding attributes 7.2 Coding attributes 7.3 Content information attributes 7.4 Interactions with document architecture attributes 8 Formal definitions of raster graphics content architecture dependent data types 8.1 Introduction 8.2 Representation of presentation attributes 8.3 Representation of coding attributes 8.4 Representation of non-basic features and non-standard defaults 9 Coding schemes 9.1 Group 4 facsimile encoding scheme 9.2 Group 3 facsimile encoding scheme 9.3 Bitmap encoding scheme ÄÄÄÄÄÄÄ 1) This text is aligned with the final text of the corresponding International Standard ISO 8613-7. 1 Fascicle VII.6 - Rec. T.417 10 Content layout process 10.1 Introduction 10.2 Notation 10.3 The fixed dimension content layout method 10.4 The scalable dimension content layout method 11 Content imaging process 11.1 Introduction 11.2 Content imaging process for formatted form 11.3 Content imaging process for formatted processable form 12 Definition of raster graphics content architecture classes 12.1 Summary of raster graphic presentation attributes 12.2 Summary of raster graphic content portion attributes Annex A -Summary of raster graphic content architecture classes Annex B -Recommendations for the development of raster graphics content architecture levels in document application profiles 1 Scope 1.1 The purpose of the T.410-Series of Recommendations is to facilitate the interchange of documents. In the context of the T.410-Series, documents are considered to be items such as memoranda, letters, invoices, forms and reports, which may include pictures and tabular material. The content elements used within the documents may include graphic characters, geometric graphic elements and raster graphic elements, all potentially within one document. Note - The T.410-Series of Recommendations is designed to allow for extensions, including typographical features, colour, spreadsheets and additional types of content such as sound. 1.2 The T.410-Series applies to the interchange of documents by means of data communications or the exchange of storage media. The T.410-Series provides for the interchange of documents for either or both of the following purposes: - to allow presentation as intended by the originator; - to allow processing such as editing and reformatting. The composition of a document in interchange can take several forms: - formatted form, allowing presentation of the document; - processable form, allowing processing of the document; - formatted processable form, allowing both presentation and processing. The T.410-Series also provides for the interchange of ODA information structures used for the processing of interchanged documents. Furthermore, the T.410-Series allows for the interchange of documents containing one or more different types of content such as character text, images graphics and sound. 1.3 This Recommendation defines: - the raster graphics content architectures that can be used in conjunction with the document architecture defined in Recommendation T.412; - the internal structure of content portions that are structured according to a raster graphics content architecture; - those aspects of positioning and imaging applicable to the presentation of raster graphics contents in a basic layout object; Fascicle VII.6 - Rec. T.417 2 - a content layout process which, together with the document layout process defined in Recommendation T.412, specifies the method for determining the dimensions of basic layout objects for raster graphics content portions; - the presentation and content portion attributes applicable to raster graphics content architectures. 2 Normative references The following Recommendations and International Standards contain provisions which, through references in this text, constitute provisions of the T.410-Series of Recommendations. At the time of publication the editions indicated were valid. All standards are subject to revision, and parties to agreements based upon the T.410-Series of Recommendations are encouraged to investigate the possibility of applying the most recent editions of the standards listed below. Members of ISO and IEC maintain registers of currently valid International Standards. - Rec. T.4 (1988): Standardization of group 3 facsimile apparatus for document transmission. - Rec. T.6 (1988): Facsimile coding schemes and coding control functions for group 4 facsimile apparatus. - Rec. X.208 (1988): Specification of abstract syntax notation one (ASN.1). 3 Definitions For the purpose of this Recommendation, the definitions given in Recommendation T.411 apply. 4 General principles 4.1 Content architectures This Recommendation defines two classes of raster graphics content architectures: - formatted raster graphics content architecture class, which allows for document content to be presented as intended by the originator. Formatted form content can only be associated with basic components; - formatted processable raster graphics content architecture class, which allows for document content to be processed and also to be presented as intended by the originator. Formatted processable content can be associated with any basic logical component. 4.1.1 Formatted content architecture class Formatted raster graphics content is intended to be laid out, or imaged by the recipient in accordance with the originatorw's intent. It is not intended to be reformatted. This form of content may only be used in formatted form documents. For this form of content, all the necessary information for positioning of pels has been specified. The method of positioning is specified in Section 5. A particular feature of this form of content is that the position of the pel array can be offset relative to the position of the basic layout object. As a result, it is possible that not all of the area of the basic layout object is utilized for positioning pels. Also a portion of the pel array may be positioned such that it is outside the basic layout object. Such a portion, if any, is not imaged. 3 Fascicle VII.6 - Rec. T.417 4.1.2 Formatted processable content architecture class Formatted processable raster graphics content is intended to be laid out, reformatted or imaged by the recipient in accordance with the originatorw's intent. This form of content may be used in formatted processable and formatted processable form documents. The originator may, when using this form of content, specify the precise requirements for the layout and imaging of the pel array. Alternatively, the originator may specify various constraints concerning the intended layout and imaging of the pel array, i.e. the precise requirements are not specified and the layout is determined by the content layout process performed by the recipient. When the precise requirements for the layout are specified, the fixed dimension layout method is used to layout and image the content. Otherwise, the content is laid out and imaged using the scalable dimension layout method. These layout methods are defined in Section 10. A particular feature of these layout methods is that in both cases the content is laid out such that the entire basic layout object is utilized. In addition it is possible to specify that only a portion of the pel array is to be laid out. 4.2 Content The content of a basic component that conforms to a raster graphics content architecture represents a two- dimensional pictorial image in the form of a rectangular two-dimensional array of picture elements (pels). Each element of a pel array comprises data used to determine the image of the corresponding pel. Each basic component contains exactly one content portion. The data which determines the image of a pel specifies one of two states, named "set" and "unset". The set state is used to identify the foreground colour and the unset to identify the background colour. The representation of foreground and background within an image is not defined by this Recommendation. Note 1 - For reproduction on paper, the background colour will normally be the colour of the paper, for instance white, and the foreground colour a contrasting colour, for instance black. Note 2 - A future version of this Recommendation may allow specification of more information for each pel, enabling the representation of multi-colour images. 4.3 Presentation attributes Presentation attributes are applicable to basic components and specify information for laying out and imaging the content of the basic component, and are defined in Section 6. This information cannot be modified within the content of the basic component to which it applies. 4.4 Content portion attributes Content attributes are applicable to content portions and specify information related to the identification and coding of the content. They are also used in laying out and imaging the content of the content portion. Content portion attributes are defined in Section 7. 4.5 Coding of content information The methods of encoding the pel array in a content portion structured according to a raster graphics content architecture are specified in Section 9. 4.6 Picture element (pel) array The picture elements in an array have a defined order. The array consists of an ordered sequence of rows of picture elements. Each row in the array contains the same number of picture elements and consists of an ordered sequence of picture elements that represents a line of the image. Fascicle VII.6 - Rec. T.417 4 5 Principles of positioning pels The methods of positioning pels within a basic layout object are described in this section. One of these applies to content portions which pertain to the formatted form content architecture. The other applies to content portions which pertain to the formatted processable form content architecture. The general principles of positioning that apply to both these methods are described in  5.4.1, 5.4.2 and 5.4.3 then describes the specific principles that apply to the formatted and formatted processable forms of content. A basic logical component with a formatted processable form content architecture class must undergo the content layout process before it can be positioned and imaged. The content layout process (defined in Section 10) determines the block size into which the content portion is to be imaged. The content is then positioned in accordance with the positioning rules for content pertaining to the formatted processable form content architecture class. Any parts of a raster graphics content portion which extend beyond the boundaries of the basic layout object are not imaged. 5.1 Basic concepts 5.1.1 Measurement units and directions For raster graphics content, the unit for positioning pels is the Scaled Measurement Unit (SMU). The SMU is derived from the Basic Measurement Unit (BMU) by multiplying the BMU with a factor which is specified by the attribute "unit scaling" (defined in Recommendation T.414). The BMU and SMU are defined in Recommendation T.412 ( 3.3.4.1 and 3.3.4.2 respectively). All directions are expressed as counter clockwise angles of rotation relative to some specified reference direction (as illustrated in Figure 1/T.417). FIGURE 1/T.417 Example of direction 5.1.2 Coordinate systems Two rectangular coordinate systems are used in the positioning of pels. One system is a dimensionless coordinate system used to identify the pels that constitute a clipped pel array (defined in  5.3.1). In this system, the origin of the coordinate system is positioned at the first pel in the pel array. One axis is in the direction of the pels in each row of pels. The second axis is in the direction of the columns of pels. This system uses non-negative dimensionless integer values and coordinate pairs are denoted using upper case letters. 5 Fascicle VII.6 - Rec. T.417 The second system is used for the positioning of pels associated with basic layout objects. In this system, one axis is parallel to the horizontal axis of the page coordinate system (defined in Recommendation T.412) and the other axis is in a direction 270 degrees relative to the horizontal axis. This system uses rational values in scaled measurements units (SMUs) to identify points or specify lengths within a basic layout object. Coordinate pairs are indicated in lower case letters. 5.2 Pel image model Each pel is associated with a reference area. The side of the reference are along the direction of the pel path equals the pel spacing and the side along the direction of line progression equals the line spacing. Each reference area has a reference point, which is used for positioning the pel. The reference point is defined as the corner of the reference area situated in the opposite direction of both pel path and line progression. The position of a pel in a basic layout object is defined as the position of reference point of the reference area of that pel. Note - The position of the image of the pel relative to the reference area is implementation dependent, but it is the intention that the main part of the image of pel is positioned within the reference area. 5.3 Positioning of pels In general, when positioning (and subsequently imaging) the content of a content portion in relation to a basic layout object, only part of the content is considered. Two methods of selecting the required part of the content are provided: - specification of a clipped pel array; - discarding of pels. 5.3.1 The clipped pel array The clipped pel array is a rectangular array of pels defined by two coordinate pairs in the dimensionless coordinate system. The diagonally opposite pairs of the clipped pel array are identified by the coordinate pairs (XI, Y1) and (X2, Y2) where X1 <= X2 and Y1 <= Y2. Figure 2/T.417 illustrates the clipping of a content portion. FIGURE 2/T.417 Example of clipping a content portion Fascicle VII.6 - Rec. T.417 6 5.3.2 Discarded pels In the formatted raster graphics content architecture class, the number of pels to be discarded at the beginning and the end of each line of pels can be specified by a coding attribute. 5.4 Positioning of pels in a basic layout object 5.4.1 Positioning parameters The positioning of pels within a basic layout object is determined by the following parameters (illustrated in Figure 3/T.417): - initial point; - pel path; - line progression; - pel spacing; - line spacing. The values of these parameters remain constant within the content associated with a particular basic layout object. The general use of these parameters when positioning pels is described below and illustrated in Figure 3/T.417. The particular applicability of these parameters to formatted and formatted processable form content is described in  5.4.2 and 5.4.3 respectively. FIGURE 3/T.417 Positioning of pels of the clipped pel array within a basic layout object Note - In the following text, various sub-section titles have been omitted. The initial point is the point relative to which all pels are positioned within a basic layout object. The value of the initial point is a coordinate pair (x, y), where x and y are the horizontal and vertical distances respectively, of the initial point from the reference point of the basic layout object. 7 Fascicle VII.6 - Rec. T.417 The pel path is the direction of progression of successive pels along a line and is expressed as a direction relative to the horizontal axis of the page coordinate system (as defined in Recommendation T.412). Line progression is the direction of progression of successive lines and is expressed as a direction relative to the pel path. Lines of pels are positioned such that the first pel to be positioned on each line falls on an imaginary line through the initial point in the direction of line progression. The pel spacing is the distance between two adjacent pels along a line, in the direction of pel path. The line spacing is the distance between two adjacent lines of pels. The line spacing may be less than, greater than or equal to the pel spacing. The spacing ratio is defined as the ratio of the line spacing to pel spacing. The aspect ratio of a clipped pel array that has been positioned in a basic layout object is defined as the ratio of the dimension of the pel array in the direction of pel path to the dimension in the direction of line progression. The first pel of the clipped pel array is positioned at the initial point. Each pel on first line is positioned along a line through the initial point in the direction of the pel path. The first pel of each line is positioned along a line through the initial point in the direction of line progression. 5.4.2 Positioning rules for formatted form content For this form of content, the positioning parameters are explicitly specified by applicable presentation attributes (see Section 6). It is not possible to define a clipped pel array when using this form of content. However, a coding attribute can be used to indicate that a specified number of pels are to be discarded at the beginning and end of each line of the content portion. In this case, only the remaining pels in the content position are considered for positioning. The line spacing and pel spacing are both specified by the same presentation attribute, and take the same value form the limited set of values specified in  6.2.2. The initial point can be positioned anywhere inside or outside of the basic layout object. Its default position (see  6.2.1) is the corner of the basic layout object in the direction opposite of both pel path and line progression. All the pels within a content portion are to be considered for positioning (apart from any pels that are to be discarded). However, pels that would be positioned outside of the basic layout object are not to be imaged by the imaging process. 5.4.3 Positioning rules for formatted processable content For this form of content, the positioning parameters are determined from information specified in presentation and coding attributes and from the dimensions of the basic layout object. The clipped pel array is specified by a presentation attribute, which selects the portion of the content portion to be positioned. The pel path and line progression are explicitly specified by separate presentation attributes. The initial point is determined from the pel path and line progression specified, such that it is situated in the corner of the basic layout object in the opposite direction of both pel path and line progression (see  6.2.1); other values for the initial point cannot be specified. Fascicle VII.6 - Rec. T.417 8 The pel spacing is set to be equal to the dimensions of the basic layout object in the direction of the pel path divided by the number of pels per line in the clipped pel array. Similarly, the line spacing is set to be equal to the dimensions of the basic layout object in the direction of line progression divided by the number of lines in the clipped pel array. Thus the clipped pel array is positioned within the basic layout object such that the reference areas of all the pels completely fill the basic layout object. None of the pels in the clipped pel array can be positioned outside of the basic layout object. 6 Definition of raster graphics presentation attributes Presentation attributes specify the initial conditions relating to the layout and imaging of the content of a basic component. They may be specified for basic logical and layout components and for presentation styles. There are three categories of raster graphics presentation attributes: - logical presentation attributes which take effect during the content layout process, but are ignored during the content imaging process; - layout presentation attributes which take effect during the content imaging process. Their values are generated either by the content layout process, or by a process that creates or edits the content; - shared presentation attributes which take effect during either or both the content layout and imaging process. These attributes are listed in Table 1/T.417. For each presentation attribute a default value is defined. This value is used in the defaulting mechanism as defined in Recommendation T.412. This section also defines values for the content architecture attributes specific to raster graphics content architectures. These attributes are defined in Recommendation T.412. TABLE 1/T.417 Raster graphics presentation attributes w ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Shared attributes ³ Layout attributes ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ Pel path ³ Pel transmission density ³ ³ ³ ³ ³ Line progression ³ Initial offset ³ ³ ³ ³ ³ Clipping ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ³ Logical attributes ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ³ ³ Pel spacing ³ ³ ³ ³ ³ ³ Spacing ratio ³ ³ ³ ³ ³ ³ Image dimensions ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 9 Fascicle VII.6 - Rec. T.417 6.1 Shared presentation attributes 6.1.1clipping CATEGORY: Shared APPLICABILITY: Formatted processable content architecture class STRUCTURE: First coordinate pair: X coordinate, Y coordinate Second coordinate pair: X coordinate, Y coordinate PERMISSIBLE VALUES: First coordinate pair: non-negative integer, non-negative integer Second coordinate pair: non-negative integer, non-negative integer DEFAULT VALUES: First coordinate: (0,0) Second coordinate (N-1, L-1) where: N is the number of pels per line, L is the number of lines DEFINITION: This attribute determines the subregion of the pel array, as described by the content portion, which is to be considered by the content layout process and the content imaging process. This attribute consists of two coordinate pairs. The first pair specifies the first pel that is part of the selected array. The second pair specifies the last pel that is part of the selected array. REMARKS: Each coordinate of the first pair must be less than or equal to the corresponding coordinate of the second pair. 6.1.2line progression CATEGORY: Shared APPLICABILITY: Formatted and formatted processable content architecture classes PERMISSIBLE VALUES: 90, 270 degrees DEFAULT VALUES: 270 degrees DEFINITION: This attribute specifies the direction of the progression of successive lines, relative to the pel path. 6.1.3pel path CATEGORY: Shared APPLICABILITY: Formatted and formatted processable content architecture classes PERMISSIBLE VALUES: 0, 90, 180, 270 degrees DEFAULT VALUES: 0 degrees Fascicle VII.6 - Rec. T.417 10 DEFINITION: This attribute specifies the direction of the progression of successive pels along a line, relative to the horizontal axis of the basic layout object. 11 Fascicle VII.6 - Rec. T.417 6.2 Layout presentation attributes 6.2.1initial offset CATEGORY: Layout APPLICABILITY: Formatted content architecture class STRUCTURE: Two parameters: horizontal coordinate, vertical coordinate PERMISSIBLE VALUES: Horizontal coordinate: any integer Vertical coordinate: any integer DEFAULT VALUES: The default value of this attribute depends on the pel path and line progression as defined in Table 2/T.417. DEFINITION: This attribute specifies the position of the initial point relative to the basic layout object. The parameters "horizontal coordinate" and "vertical coordinate" specify the horizontal and vertical coordinates, in SMUs, of the initial point relative to the reference point of the basic layout object. The value of each coordinate may be positive, zero or negative; if either or both coordinates are negative then the initial point will be outside the basic layout object. Note - The facility to specify negative coordinate values for the initial point is intended only for use with content architectures based on CCITT Recommendation T.73, such as RF-1 (see Annex B), which provide no other clipping mechanism. TABLE 2/T.417 Default values of the presentation attribute "initial offset" (position of initial point) w ÚÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Pel ³ Line ³ Horizontal ³ Vertical ³ ³ path ³ progression ³ coordinate ³ coordinate ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ 0 ³ 270 ³ 0 ³ 0 ³ ³ ³ 90 ³ 0 ³ BDV ³ ³ 270 ³ 270 ³ BDH ³ 0 ³ ³ ³ 90 ³ 0 ³ 0 ³ ³ 180 ³ 270 ³ BDH ³ BDV ³ ³ ³ 90 ³ BDH ³ 0 ³ ³ 90 ³ 270 ³ 0 ³ BDV ³ ³ ³ 90 ³ BDH ³ BDV ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Note - The notation used in this table is: BDV = vertical dimension of block; BDH = horizontal dimension of block. 6.2.2pel transmission density CATEGORY: Layout APPLICABILITY: Formatted content architecture class PERMISSIBLE VALUES: 1, 2, 3, 4, 5, 6, BMU DEFAULT VALUES: 6 BMU DEFINITION: This attribute specifies a single value for both the pel spacing and line spacing. Fascicle VII.6 - Rec. T.417 12